Class BaseAwsJsonProtocolFactory.Builder<SubclassT extends BaseAwsJsonProtocolFactory.Builder>

java.lang.Object
software.amazon.awssdk.protocols.json.BaseAwsJsonProtocolFactory.Builder<SubclassT>
Direct Known Subclasses:
AwsCborProtocolFactory.Builder, AwsJsonProtocolFactory.Builder, SmithyRpcV2CborProtocolFactory.Builder
Enclosing class:
BaseAwsJsonProtocolFactory

public abstract static class BaseAwsJsonProtocolFactory.Builder<SubclassT extends BaseAwsJsonProtocolFactory.Builder> extends Object
  • Method Details

    • registerModeledException

      public final SubclassT registerModeledException(ExceptionMetadata errorMetadata)
      Registers a new modeled exception by the error code.
      Parameters:
      errorMetadata - Metadata to unmarshall the modeled exception.
      Returns:
      This builder for method chaining.
    • defaultServiceExceptionSupplier

      public final SubclassT defaultServiceExceptionSupplier(Supplier<SdkPojo> exceptionBuilderSupplier)
      A supplier for the services base exception builder. This is used when we can't identify any modeled exception to unmarshall into.
      Parameters:
      exceptionBuilderSupplier - Suppplier of the base service exceptions Builder.
      Returns:
      This builder for method chaining.
    • protocol

      public final SubclassT protocol(AwsJsonProtocol protocol)
      Parameters:
      protocol - Protocol of the client (i.e. REST or RPC).
      Returns:
      This builder for method chaining.
    • protocolVersion

      public final SubclassT protocolVersion(String protocolVersion)
      Protocol version of the client (right now supports JSON 1.0 and JSON 1.1). Used to determine content type.
      Parameters:
      protocolVersion - JSON protocol version.
      Returns:
      This builder for method chaining.
    • contentType

      public final SubclassT contentType(String contentType)
      ContentType of the client (By default it is used from BaseAwsJsonProtocolFactory.AWS_JSON ). Used to determine content type.
      Parameters:
      contentType - JSON protocol contentType.
      Returns:
      This builder for method chaining.
    • customErrorCodeFieldName

      public final SubclassT customErrorCodeFieldName(String customErrorCodeFieldName)
      Custom field name containing the error code that identifies the exception. Currently only used by Glacier which uses the "code" field instead of the traditional "__type".
      Parameters:
      customErrorCodeFieldName - Custom field name to look for error code.
      Returns:
      This builder for method chaining.
    • clientConfiguration

      public final SubclassT clientConfiguration(SdkClientConfiguration clientConfiguration)
      Sets the SdkClientConfiguration which contains the service endpoint.
      Parameters:
      clientConfiguration - Configuration of the client.
      Returns:
      This builder for method chaining.
    • hasAwsQueryCompatible

      public final SubclassT hasAwsQueryCompatible(boolean hasAwsQueryCompatible)
      Provides a check on whether AwsQueryCompatible trait is found in Metadata. If true, custom error codes can be provided
      Parameters:
      hasAwsQueryCompatible - boolean of whether the AwsQueryCompatible trait is found
      Returns:
      This builder for method chaining.