Class ErrorInfo.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder<MessageType,BuilderType>
com.google.protobuf.GeneratedMessageLite.Builder<ErrorInfo,ErrorInfo.Builder>
com.google.rpc.ErrorInfo.Builder
All Implemented Interfaces:
com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, ErrorInfoOrBuilder, Cloneable
Enclosing class:
ErrorInfo

public static final class ErrorInfo.Builder extends com.google.protobuf.GeneratedMessageLite.Builder<ErrorInfo,ErrorInfo.Builder> implements ErrorInfoOrBuilder
 Describes the cause of the error with structured details.

 Example of an error when contacting the "pubsub.googleapis.com" API when it
 is not enabled:

 { "reason": "API_DISABLED"
 "domain": "googleapis.com"
 "metadata": {
 "resource": "projects/123",
 "service": "pubsub.googleapis.com"
 }
 }

 This response indicates that the pubsub.googleapis.com API is not enabled.

 Example of an error that is returned when attempting to create a Spanner
 instance in a region that is out of stock:

 { "reason": "STOCKOUT"
 "domain": "spanner.googleapis.com",
 "metadata": {
 "availableRegions": "us-central1,us-east2"
 }
 }
 
Protobuf type google.rpc.ErrorInfo
  • Method Details

    • getReason

      public String getReason()
       The reason of the error. This is a constant value that identifies the
       proximate cause of the error. Error reasons are unique within a particular
       domain of errors. This should be at most 63 characters and match a
       regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents
       UPPER_SNAKE_CASE.
       
      string reason = 1 [json_name = "reason"];
      Specified by:
      getReason in interface ErrorInfoOrBuilder
      Returns:
      The reason.
    • getReasonBytes

      public com.google.protobuf.ByteString getReasonBytes()
       The reason of the error. This is a constant value that identifies the
       proximate cause of the error. Error reasons are unique within a particular
       domain of errors. This should be at most 63 characters and match a
       regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents
       UPPER_SNAKE_CASE.
       
      string reason = 1 [json_name = "reason"];
      Specified by:
      getReasonBytes in interface ErrorInfoOrBuilder
      Returns:
      The bytes for reason.
    • setReason

      public ErrorInfo.Builder setReason(String value)
       The reason of the error. This is a constant value that identifies the
       proximate cause of the error. Error reasons are unique within a particular
       domain of errors. This should be at most 63 characters and match a
       regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents
       UPPER_SNAKE_CASE.
       
      string reason = 1 [json_name = "reason"];
      Parameters:
      value - The reason to set.
      Returns:
      This builder for chaining.
    • clearReason

      public ErrorInfo.Builder clearReason()
       The reason of the error. This is a constant value that identifies the
       proximate cause of the error. Error reasons are unique within a particular
       domain of errors. This should be at most 63 characters and match a
       regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents
       UPPER_SNAKE_CASE.
       
      string reason = 1 [json_name = "reason"];
      Returns:
      This builder for chaining.
    • setReasonBytes

      public ErrorInfo.Builder setReasonBytes(com.google.protobuf.ByteString value)
       The reason of the error. This is a constant value that identifies the
       proximate cause of the error. Error reasons are unique within a particular
       domain of errors. This should be at most 63 characters and match a
       regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents
       UPPER_SNAKE_CASE.
       
      string reason = 1 [json_name = "reason"];
      Parameters:
      value - The bytes for reason to set.
      Returns:
      This builder for chaining.
    • getDomain

      public String getDomain()
       The logical grouping to which the "reason" belongs. The error domain
       is typically the registered service name of the tool or product that
       generates the error. Example: "pubsub.googleapis.com". If the error is
       generated by some common infrastructure, the error domain must be a
       globally unique value that identifies the infrastructure. For Google API
       infrastructure, the error domain is "googleapis.com".
       
      string domain = 2 [json_name = "domain"];
      Specified by:
      getDomain in interface ErrorInfoOrBuilder
      Returns:
      The domain.
    • getDomainBytes

      public com.google.protobuf.ByteString getDomainBytes()
       The logical grouping to which the "reason" belongs. The error domain
       is typically the registered service name of the tool or product that
       generates the error. Example: "pubsub.googleapis.com". If the error is
       generated by some common infrastructure, the error domain must be a
       globally unique value that identifies the infrastructure. For Google API
       infrastructure, the error domain is "googleapis.com".
       
      string domain = 2 [json_name = "domain"];
      Specified by:
      getDomainBytes in interface ErrorInfoOrBuilder
      Returns:
      The bytes for domain.
    • setDomain

      public ErrorInfo.Builder setDomain(String value)
       The logical grouping to which the "reason" belongs. The error domain
       is typically the registered service name of the tool or product that
       generates the error. Example: "pubsub.googleapis.com". If the error is
       generated by some common infrastructure, the error domain must be a
       globally unique value that identifies the infrastructure. For Google API
       infrastructure, the error domain is "googleapis.com".
       
      string domain = 2 [json_name = "domain"];
      Parameters:
      value - The domain to set.
      Returns:
      This builder for chaining.
    • clearDomain

      public ErrorInfo.Builder clearDomain()
       The logical grouping to which the "reason" belongs. The error domain
       is typically the registered service name of the tool or product that
       generates the error. Example: "pubsub.googleapis.com". If the error is
       generated by some common infrastructure, the error domain must be a
       globally unique value that identifies the infrastructure. For Google API
       infrastructure, the error domain is "googleapis.com".
       
      string domain = 2 [json_name = "domain"];
      Returns:
      This builder for chaining.
    • setDomainBytes

      public ErrorInfo.Builder setDomainBytes(com.google.protobuf.ByteString value)
       The logical grouping to which the "reason" belongs. The error domain
       is typically the registered service name of the tool or product that
       generates the error. Example: "pubsub.googleapis.com". If the error is
       generated by some common infrastructure, the error domain must be a
       globally unique value that identifies the infrastructure. For Google API
       infrastructure, the error domain is "googleapis.com".
       
      string domain = 2 [json_name = "domain"];
      Parameters:
      value - The bytes for domain to set.
      Returns:
      This builder for chaining.
    • getMetadataCount

      public int getMetadataCount()
      Description copied from interface: ErrorInfoOrBuilder
       Additional structured details about this error.
      
       Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
       length. When identifying the current value of an exceeded limit, the units
       should be contained in the key, not the value.  For example, rather than
       {"instanceLimit": "100/request"}, should be returned as,
       {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
       instances that can be created in a single (batch) request.
       
      map<string, string> metadata = 3 [json_name = "metadata"];
      Specified by:
      getMetadataCount in interface ErrorInfoOrBuilder
    • containsMetadata

      public boolean containsMetadata(String key)
       Additional structured details about this error.
      
       Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
       length. When identifying the current value of an exceeded limit, the units
       should be contained in the key, not the value.  For example, rather than
       {"instanceLimit": "100/request"}, should be returned as,
       {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
       instances that can be created in a single (batch) request.
       
      map<string, string> metadata = 3 [json_name = "metadata"];
      Specified by:
      containsMetadata in interface ErrorInfoOrBuilder
    • clearMetadata

      public ErrorInfo.Builder clearMetadata()
    • removeMetadata

      public ErrorInfo.Builder removeMetadata(String key)
       Additional structured details about this error.
      
       Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
       length. When identifying the current value of an exceeded limit, the units
       should be contained in the key, not the value.  For example, rather than
       {"instanceLimit": "100/request"}, should be returned as,
       {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
       instances that can be created in a single (batch) request.
       
      map<string, string> metadata = 3 [json_name = "metadata"];
    • getMetadata

      @Deprecated public Map<String,String> getMetadata()
      Deprecated.
      Use getMetadataMap() instead.
      Specified by:
      getMetadata in interface ErrorInfoOrBuilder
    • getMetadataMap

      public Map<String,String> getMetadataMap()
       Additional structured details about this error.
      
       Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
       length. When identifying the current value of an exceeded limit, the units
       should be contained in the key, not the value.  For example, rather than
       {"instanceLimit": "100/request"}, should be returned as,
       {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
       instances that can be created in a single (batch) request.
       
      map<string, string> metadata = 3 [json_name = "metadata"];
      Specified by:
      getMetadataMap in interface ErrorInfoOrBuilder
    • getMetadataOrDefault

      public String getMetadataOrDefault(String key, String defaultValue)
       Additional structured details about this error.
      
       Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
       length. When identifying the current value of an exceeded limit, the units
       should be contained in the key, not the value.  For example, rather than
       {"instanceLimit": "100/request"}, should be returned as,
       {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
       instances that can be created in a single (batch) request.
       
      map<string, string> metadata = 3 [json_name = "metadata"];
      Specified by:
      getMetadataOrDefault in interface ErrorInfoOrBuilder
    • getMetadataOrThrow

      public String getMetadataOrThrow(String key)
       Additional structured details about this error.
      
       Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
       length. When identifying the current value of an exceeded limit, the units
       should be contained in the key, not the value.  For example, rather than
       {"instanceLimit": "100/request"}, should be returned as,
       {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
       instances that can be created in a single (batch) request.
       
      map<string, string> metadata = 3 [json_name = "metadata"];
      Specified by:
      getMetadataOrThrow in interface ErrorInfoOrBuilder
    • putMetadata

      public ErrorInfo.Builder putMetadata(String key, String value)
       Additional structured details about this error.
      
       Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
       length. When identifying the current value of an exceeded limit, the units
       should be contained in the key, not the value.  For example, rather than
       {"instanceLimit": "100/request"}, should be returned as,
       {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
       instances that can be created in a single (batch) request.
       
      map<string, string> metadata = 3 [json_name = "metadata"];
    • putAllMetadata

      public ErrorInfo.Builder putAllMetadata(Map<String,String> values)
       Additional structured details about this error.
      
       Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
       length. When identifying the current value of an exceeded limit, the units
       should be contained in the key, not the value.  For example, rather than
       {"instanceLimit": "100/request"}, should be returned as,
       {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
       instances that can be created in a single (batch) request.
       
      map<string, string> metadata = 3 [json_name = "metadata"];