Interface OperationModelContext<RequestType extends EventStreamJsonMessage,ResponseType extends EventStreamJsonMessage,StreamingRequestType extends EventStreamJsonMessage,StreamingResponseType extends EventStreamJsonMessage>

Type Parameters:
RequestType - The initial-request
ResponseType - The initial-response
StreamingRequestType - The streaming initial-request
StreamingResponseType - The streaming initial-response
All Known Implementing Classes:
AuthorizeClientDeviceActionOperationContext, CancelLocalDeploymentOperationContext, CreateDebugPasswordOperationContext, CreateLocalDeploymentOperationContext, DeferComponentUpdateOperationContext, DeleteThingShadowOperationContext, GetClientDeviceAuthTokenOperationContext, GetComponentDetailsOperationContext, GetConfigurationOperationContext, GetLocalDeploymentStatusOperationContext, GetSecretValueOperationContext, GetThingShadowOperationContext, ListComponentsOperationContext, ListLocalDeploymentsOperationContext, ListNamedShadowsForThingOperationContext, PauseComponentOperationContext, PublishToIoTCoreOperationContext, PublishToTopicOperationContext, PutComponentMetricOperationContext, RestartComponentOperationContext, ResumeComponentOperationContext, SendConfigurationValidityReportOperationContext, StopComponentOperationContext, SubscribeToCertificateUpdatesOperationContext, SubscribeToComponentUpdatesOperationContext, SubscribeToConfigurationUpdateOperationContext, SubscribeToIoTCoreOperationContext, SubscribeToTopicOperationContext, SubscribeToValidateConfigurationUpdatesOperationContext, UpdateConfigurationOperationContext, UpdateStateOperationContext, UpdateThingShadowOperationContext, ValidateAuthorizationTokenOperationContext, VerifyClientDeviceIdentityOperationContext

public interface OperationModelContext<RequestType extends EventStreamJsonMessage,ResponseType extends EventStreamJsonMessage,StreamingRequestType extends EventStreamJsonMessage,StreamingResponseType extends EventStreamJsonMessage>
Interface used for both client and server to dictate how to handle operations modeled by implementing this interface. Smithy code generation should produce one of these per model, but we aren't going to take steps to prevent hand construction.
  • Method Details

    • getServiceModel

      EventStreamRPCServiceModel getServiceModel()
      Returns the service model which can look up all/any Java error class types if an operation throws it so the handling has a chance
      Returns:
      the service model which can look up all/any Java error class types if an operation throws it so the handling has a chance
    • getOperationName

      String getOperationName()
      Returns the canonical operation name associated with this context across any client language. Namespace included Example: aws.greengrass#SubscribeToTopic
      Returns:
      the canonical operation name associated with this context across any client language.
    • getRequestTypeClass

      Class<RequestType> getRequestTypeClass()
      Returns the initial-request java class type
      Returns:
      the initial-request java class type
    • getRequestApplicationModelType

      String getRequestApplicationModelType()
      Returns the application model type string for the initial-request object
      Returns:
      the application model type string for the initial-request object
    • getResponseTypeClass

      Class<ResponseType> getResponseTypeClass()
      Returns the initial-response java class type
      Returns:
      the initial-response java class type
    • getResponseApplicationModelType

      String getResponseApplicationModelType()
      Returns the application model type string for the initial response object
      Returns:
      the application model type string for the initial response object
    • getStreamingRequestTypeClass

      Optional<Class<StreamingRequestType>> getStreamingRequestTypeClass()
      Returns the streaming-request java class type
      Returns:
      the streaming-request java class type
    • getStreamingRequestApplicationModelType

      Optional<String> getStreamingRequestApplicationModelType()
      Returns the application model type of
      Returns:
      the application model type of
    • getStreamingResponseTypeClass

      Optional<Class<StreamingResponseType>> getStreamingResponseTypeClass()
      Returns the streaming-response java class type
      Returns:
      the streaming-response java class type
    • getStreamingResponseApplicationModelType

      Optional<String> getStreamingResponseApplicationModelType()
      Returns the streaming response application model string
      Returns:
      the streaming response application model string
    • isStreamingOperation

      default boolean isStreamingOperation()
      Returns true if there is a streaming request or response associated with the operation or both
      Returns:
      true if there is a streaming request or response associated with the operation or both