Class Status

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, StatusOrBuilder, java.io.Serializable

    public final class Status
    extends com.google.protobuf.GeneratedMessageV3
    implements StatusOrBuilder
     The `Status` type defines a logical error model that is suitable for different
     programming environments, including REST APIs and RPC APIs. It is used by
     [gRPC](https://github.com/grpc). The error model is designed to be:
     - Simple to use and understand for most users
     - Flexible enough to meet unexpected needs
     # Overview
     The `Status` message contains three pieces of data: error code, error message,
     and error details. The error code should be an enum value of
     [google.rpc.Code][google.rpc.Code], but it may accept additional error codes if needed.  The
     error message should be a developer-facing English message that helps
     developers *understand* and *resolve* the error. If a localized user-facing
     error message is needed, put the localized message in the error details or
     localize it in the client. The optional error details may contain arbitrary
     information about the error. There is a predefined set of error detail types
     in the package `google.rpc` which can be used for common error conditions.
     # Language mapping
     The `Status` message is the logical representation of the error model, but it
     is not necessarily the actual wire format. When the `Status` message is
     exposed in different client libraries and different wire protocols, it can be
     mapped differently. For example, it will likely be mapped to some exceptions
     in Java, but more likely mapped to some error codes in C.
     # Other uses
     The error model and the `Status` message can be used in a variety of
     environments, either with or without APIs, to provide a
     consistent developer experience across different environments.
     Example uses of this error model include:
     - Partial errors. If a service needs to return partial errors to the client,
         it may embed the `Status` in the normal response to indicate the partial
         errors.
     - Workflow errors. A typical workflow has multiple steps. Each step may
         have a `Status` message for error reporting purpose.
     - Batch operations. If a client uses batch request and batch response, the
         `Status` message should be used directly inside batch response, one for
         each error sub-response.
     - Asynchronous operations. If an API call embeds asynchronous operation
         results in its response, the status of those operations should be
         represented directly using the `Status` message.
     - Logging. If some API errors are stored in logs, the message `Status` could
         be used directly after any stripping needed for security/privacy reasons.
     
    Protobuf type google.rpc.Status
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Status.Builder
      The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,​BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,​BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int CODE_FIELD_NUMBER  
      static int DETAILS_FIELD_NUMBER  
      static int MESSAGE_FIELD_NUMBER  
      • Fields inherited from class com.google.protobuf.GeneratedMessageV3

        alwaysUseFieldBuilders, unknownFields
      • Fields inherited from class com.google.protobuf.AbstractMessage

        memoizedSize
      • Fields inherited from class com.google.protobuf.AbstractMessageLite

        memoizedHashCode
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)  
      int getCode()
      The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
      static Status getDefaultInstance()  
      Status getDefaultInstanceForType()  
      static com.google.protobuf.Descriptors.Descriptor getDescriptor()  
      com.google.protobuf.Any getDetails​(int index)
      A list of messages that carry the error details.
      int getDetailsCount()
      A list of messages that carry the error details.
      java.util.List<com.google.protobuf.Any> getDetailsList()
      A list of messages that carry the error details.
      com.google.protobuf.AnyOrBuilder getDetailsOrBuilder​(int index)
      A list of messages that carry the error details.
      java.util.List<? extends com.google.protobuf.AnyOrBuilder> getDetailsOrBuilderList()
      A list of messages that carry the error details.
      java.lang.String getMessage()
      A developer-facing error message, which should be in English.
      com.google.protobuf.ByteString getMessageBytes()
      A developer-facing error message, which should be in English.
      com.google.protobuf.Parser<Status> getParserForType()  
      int getSerializedSize()  
      com.google.protobuf.UnknownFieldSet getUnknownFields()  
      int hashCode()  
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()  
      boolean isInitialized()  
      static Status.Builder newBuilder()  
      static Status.Builder newBuilder​(Status prototype)  
      Status.Builder newBuilderForType()  
      protected Status.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)  
      protected java.lang.Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)  
      static Status parseDelimitedFrom​(java.io.InputStream input)  
      static Status parseDelimitedFrom​(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static Status parseFrom​(byte[] data)  
      static Status parseFrom​(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static Status parseFrom​(com.google.protobuf.ByteString data)  
      static Status parseFrom​(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static Status parseFrom​(com.google.protobuf.CodedInputStream input)  
      static Status parseFrom​(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static Status parseFrom​(java.io.InputStream input)  
      static Status parseFrom​(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static Status parseFrom​(java.nio.ByteBuffer data)  
      static Status parseFrom​(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static com.google.protobuf.Parser<Status> parser()  
      Status.Builder toBuilder()  
      void writeTo​(com.google.protobuf.CodedOutputStream output)  
      • Methods inherited from class com.google.protobuf.GeneratedMessageV3

        canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, isStringEmpty, makeExtensionsImmutable, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
      • Methods inherited from class com.google.protobuf.AbstractMessage

        findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString
      • Methods inherited from class com.google.protobuf.AbstractMessageLite

        addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface com.google.protobuf.MessageLite

        toByteArray, toByteString, writeDelimitedTo, writeTo
      • Methods inherited from interface com.google.protobuf.MessageOrBuilder

        findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof
    • Method Detail

      • newInstance

        protected java.lang.Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getCode

        public int getCode()
         The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
         
        int32 code = 1;
        Specified by:
        getCode in interface StatusOrBuilder
        Returns:
        The code.
      • getMessage

        public java.lang.String getMessage()
         A developer-facing error message, which should be in English. Any
         user-facing error message should be localized and sent in the
         [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
         
        string message = 2;
        Specified by:
        getMessage in interface StatusOrBuilder
        Returns:
        The message.
      • getMessageBytes

        public com.google.protobuf.ByteString getMessageBytes()
         A developer-facing error message, which should be in English. Any
         user-facing error message should be localized and sent in the
         [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
         
        string message = 2;
        Specified by:
        getMessageBytes in interface StatusOrBuilder
        Returns:
        The bytes for message.
      • getDetailsList

        public java.util.List<com.google.protobuf.Any> getDetailsList()
         A list of messages that carry the error details.  There will be a
         common set of message types for APIs to use.
         
        repeated .google.protobuf.Any details = 3;
        Specified by:
        getDetailsList in interface StatusOrBuilder
      • getDetailsOrBuilderList

        public java.util.List<? extends com.google.protobuf.AnyOrBuilder> getDetailsOrBuilderList()
         A list of messages that carry the error details.  There will be a
         common set of message types for APIs to use.
         
        repeated .google.protobuf.Any details = 3;
        Specified by:
        getDetailsOrBuilderList in interface StatusOrBuilder
      • getDetailsCount

        public int getDetailsCount()
         A list of messages that carry the error details.  There will be a
         common set of message types for APIs to use.
         
        repeated .google.protobuf.Any details = 3;
        Specified by:
        getDetailsCount in interface StatusOrBuilder
      • getDetails

        public com.google.protobuf.Any getDetails​(int index)
         A list of messages that carry the error details.  There will be a
         common set of message types for APIs to use.
         
        repeated .google.protobuf.Any details = 3;
        Specified by:
        getDetails in interface StatusOrBuilder
      • getDetailsOrBuilder

        public com.google.protobuf.AnyOrBuilder getDetailsOrBuilder​(int index)
         A list of messages that carry the error details.  There will be a
         common set of message types for APIs to use.
         
        repeated .google.protobuf.Any details = 3;
        Specified by:
        getDetailsOrBuilder in interface StatusOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws java.io.IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        java.io.IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static Status parseFrom​(java.nio.ByteBuffer data)
                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Status parseFrom​(java.nio.ByteBuffer data,
                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Status parseFrom​(com.google.protobuf.ByteString data)
                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Status parseFrom​(com.google.protobuf.ByteString data,
                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Status parseFrom​(byte[] data)
                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Status parseFrom​(byte[] data,
                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Status parseFrom​(java.io.InputStream input)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Status parseFrom​(java.io.InputStream input,
                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static Status parseDelimitedFrom​(java.io.InputStream input)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static Status parseDelimitedFrom​(java.io.InputStream input,
                                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Status parseFrom​(com.google.protobuf.CodedInputStream input)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Status parseFrom​(com.google.protobuf.CodedInputStream input,
                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • newBuilderForType

        public Status.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public Status.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected Status.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static Status getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<Status> parser()
      • getParserForType

        public com.google.protobuf.Parser<Status> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public Status getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder