Class OperationInfo
- java.lang.Object
-
- software.amazon.awssdk.protocols.core.OperationInfo
-
public final class OperationInfo extends Object
Static information about an API operation used to marshall it correctly.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
OperationInfo.Builder
Builder for aOperationInfo
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> T
addtionalMetadata(OperationMetadataAttribute<T> key)
Gets an unmodeled piece of metadata.String
apiVersion()
static OperationInfo.Builder
builder()
boolean
hasEvent()
boolean
hasEventStreamingInput()
boolean
hasExplicitPayloadMember()
boolean
hasImplicitPayloadMembers()
boolean
hasPayloadMembers()
boolean
hasStreamingInput()
SdkHttpMethod
httpMethod()
String
operationIdentifier()
String
requestUri()
-
-
-
Method Detail
-
requestUri
public String requestUri()
- Returns:
- Request URI for operation (may contain placeholders for members bound to the uri).
-
httpMethod
public SdkHttpMethod httpMethod()
- Returns:
- HTTP Method that should be used when sending the request.
-
operationIdentifier
public String operationIdentifier()
- Returns:
- Identifier for the operation/API being invoked. This is used for RPC based protocols that need to identify which action is being taken. For Query/EC2 protocol this is sent as the 'Action' query parameter, for JSON RPC this is sent as the 'X-Amz-Target' header.
-
apiVersion
public String apiVersion()
- Returns:
- Version of the service's API. For Query protocol this is sent as a 'Version' query parameter.
-
hasExplicitPayloadMember
public boolean hasExplicitPayloadMember()
- Returns:
- True if the operation has a member that's explicitly marked as the payload. False otherwise. (Applicable only to RESTUL protocols).
-
hasPayloadMembers
public boolean hasPayloadMembers()
- Returns:
- True if the operation has members bound to the payload. Some requests (especially GET and DELETE) may not have any members bound to the payload. (Applicable only to RESTFUL protocols).
-
hasImplicitPayloadMembers
public boolean hasImplicitPayloadMembers()
- Returns:
- True if the operation has members that are not explicitly bound to a marshalling location, and thus are implicitly bound to the body.
-
hasStreamingInput
public boolean hasStreamingInput()
- Returns:
- True if the operation has streaming input.
-
hasEventStreamingInput
public boolean hasEventStreamingInput()
- Returns:
- True if the operation has event streaming input.
-
hasEvent
public boolean hasEvent()
- Returns:
- True if the operation has event.
-
addtionalMetadata
public <T> T addtionalMetadata(OperationMetadataAttribute<T> key)
Gets an unmodeled piece of metadata. Useful for protocol specific options.- Type Parameters:
T
- Type of metadata being requested.- Parameters:
key
- Key the metadata was registered under.- Returns:
- The value of the additional metadata being requested or null if it's not present.
-
builder
public static OperationInfo.Builder builder()
- Returns:
- Builder instance to construct a
OperationInfo
.
-
-