com.amazonaws.codegen.protocol

## Class BaseProtocolMetadataProvider

- java.lang.Object
- - com.amazonaws.codegen.protocol.BaseProtocolMetadataProvider

All Implemented Interfaces:
  ProtocolMetadataProvider

Direct Known Subclasses:
  BaseJsonProtocolMetadataProvider, BaseXmlProtocolMetadataProvider

    public abstract class BaseProtocolMetadataProvider
    extends Object
    implements ProtocolMetadataProvider

Base class for all `ProtocolMetadataProvider`. Provides convenient default implementations of certain methods to reduce duplication.

### Constructor Summary

Constructors
Constructor and Description
`BaseProtocolMetadataProvider()`

### Method Summary

All Methods Instance Methods Concrete Methods
`String` `getBaseExceptionFqcn()`
`String` `getContentType()` Content type is hardcoded for very few protocols so we return null here for convenience.
`String` `getRequestBaseFqcn()`
`boolean` `isCborProtocol()` Default is false, subclasses can override to indicate they are CBOR protocols.
`boolean` `isIonProtocol()` Default is false, subclasses can override to indicate they are Ion protocols.
`boolean` `isJsonProtocol()` Default is false, subclasses can override to indicate they are JSON protocols.
`boolean` `isXmlProtocol()` Default is false, subclasses can override to indicate they are XML protocols.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface com.amazonaws.codegen.protocol.ProtocolMetadataProvider

`getExceptionUnmarshallerImpl, getUnmarshallerClassSuffix, getUnmarshallerContextClassName`

### Constructor Detail

#### BaseProtocolMetadataProvider

    public BaseProtocolMetadataProvider()

### Method Detail

#### isJsonProtocol

    public boolean isJsonProtocol()

Default is false, subclasses can override to indicate they are JSON protocols.

Specified by:
  `isJsonProtocol` in interface `ProtocolMetadataProvider`
Returns:
  True if protocol uses some form of JSON wire format. False otherwise.

#### isXmlProtocol

    public boolean isXmlProtocol()

Default is false, subclasses can override to indicate they are XML protocols.

Specified by:
  `isXmlProtocol` in interface `ProtocolMetadataProvider`
Returns:
  True if protocol uses XML as the wire format. False otherwise.

#### isCborProtocol

    public boolean isCborProtocol()

Default is false, subclasses can override to indicate they are CBOR protocols.

Specified by:
  `isCborProtocol` in interface `ProtocolMetadataProvider`
Returns:
  True if protocol uses CBOR as the wire format. False otherwise.

#### isIonProtocol

    public boolean isIonProtocol()

Default is false, subclasses can override to indicate they are Ion protocols.

Specified by:
  `isIonProtocol` in interface `ProtocolMetadataProvider`
Returns:
  True if protocol uses Ion as the wire format. False otherwise.

#### getContentType

    public String getContentType()

Content type is hardcoded for very few protocols so we return null here for convenience. Subclasses may override to set an explicit content type.

Specified by:
  `getContentType` in interface `ProtocolMetadataProvider`
Returns:
  The content type to use when sending requests. Currently only respected by JSON protocols.

#### getBaseExceptionFqcn

    public String getBaseExceptionFqcn()

Specified by:
  `getBaseExceptionFqcn` in interface `ProtocolMetadataProvider`
Returns:
  The fully qualified class name of the exception class that all service exceptions will be inherited from. Not to be confused with the service specific base exception which would extend from this base exception.

#### getRequestBaseFqcn

    public String getRequestBaseFqcn()

Specified by:
  `getRequestBaseFqcn` in interface `ProtocolMetadataProvider`
Returns:
  The default base request class name for AWS clients.