Enum Status.CanonicalCode

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<Status.CanonicalCode>
    Enclosing class:
    Status

    public static enum Status.CanonicalCode
    extends java.lang.Enum<Status.CanonicalCode>
    The set of canonical status codes. If new codes are added over time they must choose a numerical value that does not collide with any previously used value.
    Since:
    0.5
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      ABORTED
      The operation was aborted, typically due to a concurrency issue like sequencer check failures, transaction aborts, etc.
      ALREADY_EXISTS
      Some entity that we attempted to create (e.g., file or directory) already exists.
      CANCELLED
      The operation was cancelled (typically by the caller).
      DATA_LOSS
      Unrecoverable data loss or corruption.
      DEADLINE_EXCEEDED
      Deadline expired before operation could complete.
      FAILED_PRECONDITION
      Operation was rejected because the system is not in a state required for the operation's execution.
      INTERNAL
      Internal errors.
      INVALID_ARGUMENT
      Client specified an invalid argument.
      NOT_FOUND
      Some requested entity (e.g., file or directory) was not found.
      OK
      The operation completed successfully.
      OUT_OF_RANGE
      Operation was attempted past the valid range.
      PERMISSION_DENIED
      The caller does not have permission to execute the specified operation.
      RESOURCE_EXHAUSTED
      Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space.
      UNAUTHENTICATED
      The request does not have valid authentication credentials for the operation.
      UNAVAILABLE
      The service is currently unavailable.
      UNIMPLEMENTED
      Operation is not implemented or not supported/enabled in this service.
      UNKNOWN
      Unknown error.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int value  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private CanonicalCode​(int value)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Status toStatus()
      Returns the status that has the current CanonicalCode..
      int value()
      Returns the numerical value of the code.
      static Status.CanonicalCode valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static Status.CanonicalCode[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • CANCELLED

        public static final Status.CanonicalCode CANCELLED
        The operation was cancelled (typically by the caller).
        Since:
        0.5
      • UNKNOWN

        public static final Status.CanonicalCode UNKNOWN
        Unknown error. An example of where this error may be returned is if a Status value received from another address space belongs to an error-space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error.
        Since:
        0.5
      • INVALID_ARGUMENT

        public static final Status.CanonicalCode INVALID_ARGUMENT
        Client specified an invalid argument. Note that this differs from FAILED_PRECONDITION. INVALID_ARGUMENT indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name).
        Since:
        0.5
      • DEADLINE_EXCEEDED

        public static final Status.CanonicalCode DEADLINE_EXCEEDED
        Deadline expired before operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire.
        Since:
        0.5
      • NOT_FOUND

        public static final Status.CanonicalCode NOT_FOUND
        Some requested entity (e.g., file or directory) was not found.
        Since:
        0.5
      • ALREADY_EXISTS

        public static final Status.CanonicalCode ALREADY_EXISTS
        Some entity that we attempted to create (e.g., file or directory) already exists.
        Since:
        0.5
      • PERMISSION_DENIED

        public static final Status.CanonicalCode PERMISSION_DENIED
        The caller does not have permission to execute the specified operation. PERMISSION_DENIED must not be used for rejections caused by exhausting some resource (use RESOURCE_EXHAUSTED instead for those errors). PERMISSION_DENIED must not be used if the caller cannot be identified (use UNAUTHENTICATED instead for those errors).
        Since:
        0.5
      • RESOURCE_EXHAUSTED

        public static final Status.CanonicalCode RESOURCE_EXHAUSTED
        Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space.
        Since:
        0.5
      • FAILED_PRECONDITION

        public static final Status.CanonicalCode FAILED_PRECONDITION
        Operation was rejected because the system is not in a state required for the operation's execution. For example, directory to be deleted may be non-empty, an rmdir operation is applied to a non-directory, etc.

        A litmus test that may help a service implementor in deciding between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE: (a) Use UNAVAILABLE if the client can retry just the failing call. (b) Use ABORTED if the client should retry at a higher-level (e.g., restarting a read-modify-write sequence). (c) Use FAILED_PRECONDITION if the client should not retry until the system state has been explicitly fixed. E.g., if an "rmdir" fails because the directory is non-empty, FAILED_PRECONDITION should be returned since the client should not retry unless they have first fixed up the directory by deleting files from it.

        Since:
        0.5
      • ABORTED

        public static final Status.CanonicalCode ABORTED
        The operation was aborted, typically due to a concurrency issue like sequencer check failures, transaction aborts, etc.

        See litmus test above for deciding between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE.

        Since:
        0.5
      • OUT_OF_RANGE

        public static final Status.CanonicalCode OUT_OF_RANGE
        Operation was attempted past the valid range. E.g., seeking or reading past end of file.

        Unlike INVALID_ARGUMENT, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate INVALID_ARGUMENT if asked to read at an offset that is not in the range [0,2^32-1], but it will generate OUT_OF_RANGE if asked to read from an offset past the current file size.

        There is a fair bit of overlap between FAILED_PRECONDITION and OUT_OF_RANGE. We recommend using OUT_OF_RANGE (the more specific error) when it applies so that callers who are iterating through a space can easily look for an OUT_OF_RANGE error to detect when they are done.

        Since:
        0.5
      • UNIMPLEMENTED

        public static final Status.CanonicalCode UNIMPLEMENTED
        Operation is not implemented or not supported/enabled in this service.
        Since:
        0.5
      • INTERNAL

        public static final Status.CanonicalCode INTERNAL
        Internal errors. Means some invariants expected by underlying system has been broken. If you see one of these errors, something is very broken.
        Since:
        0.5
      • UNAVAILABLE

        public static final Status.CanonicalCode UNAVAILABLE
        The service is currently unavailable. This is a most likely a transient condition and may be corrected by retrying with a backoff.

        See litmus test above for deciding between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE.

        Since:
        0.5
      • DATA_LOSS

        public static final Status.CanonicalCode DATA_LOSS
        Unrecoverable data loss or corruption.
        Since:
        0.5
      • UNAUTHENTICATED

        public static final Status.CanonicalCode UNAUTHENTICATED
        The request does not have valid authentication credentials for the operation.
        Since:
        0.5
    • Field Detail

      • value

        private final int value
    • Constructor Detail

      • CanonicalCode

        private CanonicalCode​(int value)
    • Method Detail

      • values

        public static Status.CanonicalCode[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (Status.CanonicalCode c : Status.CanonicalCode.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static Status.CanonicalCode valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • value

        public int value()
        Returns the numerical value of the code.
        Returns:
        the numerical value of the code.
        Since:
        0.5
      • toStatus

        public Status toStatus()
        Returns the status that has the current CanonicalCode..
        Returns:
        the status that has the current CanonicalCode.
        Since:
        0.5