Class NotificationDataPlaneAsyncClient
- java.lang.Object
-
- com.oracle.bmc.http.internal.BaseAsyncClient
-
- com.oracle.bmc.ons.NotificationDataPlaneAsyncClient
-
- All Implemented Interfaces:
NotificationDataPlaneAsync
,AutoCloseable
@Generated(value="OracleSDKGenerator", comments="API Version: 20181201") public class NotificationDataPlaneAsyncClient extends BaseAsyncClient implements NotificationDataPlaneAsync
Async client implementation for NotificationDataPlane service.
There are two ways to use async client: 1. Use AsyncHandler: using AsyncHandler, if the response to the call is anInputStream
, like getObject Api in object storage service, developers need to process the stream in AsyncHandler, and not anywhere else, because the stream will be closed right after the AsyncHandler is invoked.
2. Use Java Future: using Java Future, developers need to close the stream after they are done with the Java Future.
Accessing the result should be done in a mutually exclusive manner, either through the Future or the AsyncHandler, but not both. If the Future is used, the caller should pass in null as the AsyncHandler. If the AsyncHandler is used, it is still safe to use the Future to determine whether or not the request was completed via Future.isDone/isCancelled.
Please refer to https://github.com/oracle/oci-java-sdk/blob/master/bmc-examples/src/main/java/ResteasyClientWithObjectStorageExample.java
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
NotificationDataPlaneAsyncClient.Builder
Builder class for this client.
-
Field Summary
Fields Modifier and Type Field Description String
clientCommonLibraryVersion
Compatible SDK version, provided by the codegen.Optional<String>
minimumClientCommonLibraryVersionFromClient
Minimum compatible SDK version, maybe provided by the codegen.static Service
SERVICE
Service instance for NotificationDataPlane.
-
Constructor Summary
Constructors Constructor Description NotificationDataPlaneAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory)
Deprecated.Use thebuilder
instead.NotificationDataPlaneAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, List<ClientConfigurator> additionalClientConfigurators)
Deprecated.Use thebuilder
instead.NotificationDataPlaneAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, List<ClientConfigurator> additionalClientConfigurators, String endpoint)
Deprecated.Use thebuilder
instead.NotificationDataPlaneAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, Map<SigningStrategy,RequestSignerFactory> signingStrategyRequestSignerFactories, List<ClientConfigurator> additionalClientConfigurators, String endpoint)
Deprecated.Use thebuilder
instead.NotificationDataPlaneAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider)
Deprecated.Use thebuilder
instead.NotificationDataPlaneAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration)
Deprecated.Use thebuilder
instead.NotificationDataPlaneAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator)
Deprecated.Use thebuilder
instead.
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.AutoCloseable
close
-
Methods inherited from interface com.oracle.bmc.ons.NotificationDataPlaneAsync
getEndpoint, refreshClient, setEndpoint, useRealmSpecificEndpointTemplate
-
-
-
-
Constructor Detail
-
NotificationDataPlaneAsyncClient
@Deprecated public NotificationDataPlaneAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeNotificationDataPlaneAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)
-
NotificationDataPlaneAsyncClient
@Deprecated public NotificationDataPlaneAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeNotificationDataPlaneAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)configuration
-ClientBuilderBase.configuration
-
NotificationDataPlaneAsyncClient
@Deprecated public NotificationDataPlaneAsyncClient(BasicAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeNotificationDataPlaneAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)configuration
-ClientBuilderBase.configuration
clientConfigurator
-ClientBuilderBase.clientConfigurator(com.oracle.bmc.http.ClientConfigurator)
-
NotificationDataPlaneAsyncClient
@Deprecated public NotificationDataPlaneAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeNotificationDataPlaneAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)configuration
-ClientBuilderBase.configuration
clientConfigurator
-ClientBuilderBase.clientConfigurator(com.oracle.bmc.http.ClientConfigurator)
defaultRequestSignerFactory
-ClientBuilderBase.requestSignerFactory
-
NotificationDataPlaneAsyncClient
@Deprecated public NotificationDataPlaneAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, List<ClientConfigurator> additionalClientConfigurators)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeNotificationDataPlaneAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)configuration
-ClientBuilderBase.configuration
clientConfigurator
-ClientBuilderBase.clientConfigurator(com.oracle.bmc.http.ClientConfigurator)
defaultRequestSignerFactory
-ClientBuilderBase.requestSignerFactory
additionalClientConfigurators
-ClientBuilderBase.additionalClientConfigurators
-
NotificationDataPlaneAsyncClient
@Deprecated public NotificationDataPlaneAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, List<ClientConfigurator> additionalClientConfigurators, String endpoint)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeNotificationDataPlaneAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)configuration
-ClientBuilderBase.configuration
clientConfigurator
-ClientBuilderBase.clientConfigurator(com.oracle.bmc.http.ClientConfigurator)
defaultRequestSignerFactory
-ClientBuilderBase.requestSignerFactory
additionalClientConfigurators
-ClientBuilderBase.additionalClientConfigurators
endpoint
-ClientBuilderBase.endpoint(java.lang.String)
-
NotificationDataPlaneAsyncClient
@Deprecated public NotificationDataPlaneAsyncClient(AbstractAuthenticationDetailsProvider authenticationDetailsProvider, ClientConfiguration configuration, ClientConfigurator clientConfigurator, RequestSignerFactory defaultRequestSignerFactory, Map<SigningStrategy,RequestSignerFactory> signingStrategyRequestSignerFactories, List<ClientConfigurator> additionalClientConfigurators, String endpoint)
Deprecated.Use thebuilder
instead.Create a new client instance.- Parameters:
authenticationDetailsProvider
- The authentication details (seeNotificationDataPlaneAsyncClient.Builder.build(com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider)
)configuration
-ClientBuilderBase.configuration
clientConfigurator
-ClientBuilderBase.clientConfigurator(com.oracle.bmc.http.ClientConfigurator)
defaultRequestSignerFactory
-ClientBuilderBase.requestSignerFactory
additionalClientConfigurators
-ClientBuilderBase.additionalClientConfigurators
endpoint
-ClientBuilderBase.endpoint(java.lang.String)
signingStrategyRequestSignerFactories
-ClientBuilderBase.signingStrategyRequestSignerFactories
-
-
Method Detail
-
builder
public static NotificationDataPlaneAsyncClient.Builder builder()
Create a builder for this client.- Returns:
- builder
-
setRegion
public void setRegion(Region region)
Description copied from interface:NotificationDataPlaneAsync
Sets the region to call (ex, Region.US_PHOENIX_1).Note, this will call
setEndpoint
after resolving the endpoint. If the service is not available in this region, however, an IllegalArgumentException will be raised.- Specified by:
setRegion
in interfaceNotificationDataPlaneAsync
- Parameters:
region
- The region of the service.
-
setRegion
public void setRegion(String regionId)
Description copied from interface:NotificationDataPlaneAsync
Sets the region to call (ex, ‘us-phoenix-1’).Note, this will first try to map the region ID to a known Region and call
setRegion
.If no known Region could be determined, it will create an endpoint based on the default endpoint format (
Region.formatDefaultRegionEndpoint(Service, String)
and then callsetEndpoint
.- Specified by:
setRegion
in interfaceNotificationDataPlaneAsync
- Parameters:
regionId
- The public region ID.
-
changeSubscriptionCompartment
public Future<ChangeSubscriptionCompartmentResponse> changeSubscriptionCompartment(ChangeSubscriptionCompartmentRequest request, AsyncHandler<ChangeSubscriptionCompartmentRequest,ChangeSubscriptionCompartmentResponse> handler)
Description copied from interface:NotificationDataPlaneAsync
Moves a subscription into a different compartment within the same tenancy.For information about moving resources between compartments, see Moving Resources to a Different Compartment.
Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.
- Specified by:
changeSubscriptionCompartment
in interfaceNotificationDataPlaneAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
createSubscription
public Future<CreateSubscriptionResponse> createSubscription(CreateSubscriptionRequest request, AsyncHandler<CreateSubscriptionRequest,CreateSubscriptionResponse> handler)
Description copied from interface:NotificationDataPlaneAsync
Creates a subscription for the specified topic and sends a subscription confirmation URL to the endpoint.The subscription remains in "Pending" status until it has been confirmed. For information about confirming subscriptions, see To confirm a subscription.
Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.
- Specified by:
createSubscription
in interfaceNotificationDataPlaneAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
deleteSubscription
public Future<DeleteSubscriptionResponse> deleteSubscription(DeleteSubscriptionRequest request, AsyncHandler<DeleteSubscriptionRequest,DeleteSubscriptionResponse> handler)
Description copied from interface:NotificationDataPlaneAsync
Deletes the specified subscription.Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.
- Specified by:
deleteSubscription
in interfaceNotificationDataPlaneAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getConfirmSubscription
public Future<GetConfirmSubscriptionResponse> getConfirmSubscription(GetConfirmSubscriptionRequest request, AsyncHandler<GetConfirmSubscriptionRequest,GetConfirmSubscriptionResponse> handler)
Description copied from interface:NotificationDataPlaneAsync
Gets the confirmation details for the specified subscription.Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.
- Specified by:
getConfirmSubscription
in interfaceNotificationDataPlaneAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getSubscription
public Future<GetSubscriptionResponse> getSubscription(GetSubscriptionRequest request, AsyncHandler<GetSubscriptionRequest,GetSubscriptionResponse> handler)
Description copied from interface:NotificationDataPlaneAsync
Gets the specified subscription’s configuration information.Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.
- Specified by:
getSubscription
in interfaceNotificationDataPlaneAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getUnsubscription
public Future<GetUnsubscriptionResponse> getUnsubscription(GetUnsubscriptionRequest request, AsyncHandler<GetUnsubscriptionRequest,GetUnsubscriptionResponse> handler)
Description copied from interface:NotificationDataPlaneAsync
Unsubscribes the subscription from the topic.Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.
- Specified by:
getUnsubscription
in interfaceNotificationDataPlaneAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
listSubscriptions
public Future<ListSubscriptionsResponse> listSubscriptions(ListSubscriptionsRequest request, AsyncHandler<ListSubscriptionsRequest,ListSubscriptionsResponse> handler)
Description copied from interface:NotificationDataPlaneAsync
Lists the subscriptions in the specified compartment or topic.Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.
- Specified by:
listSubscriptions
in interfaceNotificationDataPlaneAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
publishMessage
public Future<PublishMessageResponse> publishMessage(PublishMessageRequest request, AsyncHandler<PublishMessageRequest,PublishMessageResponse> handler)
Description copied from interface:NotificationDataPlaneAsync
Publishes a message to the specified topic.The topic endpoint is required for this operation. To get the topic endpoint, use
getTopic
and review the `apiEndpoint` value in the response (NotificationTopic
).Limits information follows.
Message size limit per request: 64KB.
Message delivery rate limit per endpoint: 60 messages per minute for HTTP-based protocols, 10 messages per minute for the `EMAIL` protocol. HTTP-based protocols use URL endpoints that begin with \"http:\" or \"https:\".
Transactions Per Minute (TPM) per-tenancy limit for this operation: 60 per topic. (This TPM limit represents messages per minute.)
For more information about publishing messages, see [Publishing Messages](https://docs.oracle.com/iaas/Content/Notification/Tasks/publishingmessages.htm). For steps to request a limit increase, see [Requesting a Service Limit Increase](https://docs.oracle.com/iaas/Content/General/Concepts/servicelimits.htm#three).
- Specified by:
publishMessage
in interfaceNotificationDataPlaneAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
resendSubscriptionConfirmation
public Future<ResendSubscriptionConfirmationResponse> resendSubscriptionConfirmation(ResendSubscriptionConfirmationRequest request, AsyncHandler<ResendSubscriptionConfirmationRequest,ResendSubscriptionConfirmationResponse> handler)
Description copied from interface:NotificationDataPlaneAsync
Resends the confirmation details for the specified subscription.Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.
- Specified by:
resendSubscriptionConfirmation
in interfaceNotificationDataPlaneAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
updateSubscription
public Future<UpdateSubscriptionResponse> updateSubscription(UpdateSubscriptionRequest request, AsyncHandler<UpdateSubscriptionRequest,UpdateSubscriptionResponse> handler)
Description copied from interface:NotificationDataPlaneAsync
Updates the specified subscription’s configuration.Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.
- Specified by:
updateSubscription
in interfaceNotificationDataPlaneAsync
- Parameters:
request
- The request object containing the details to sendhandler
- The request handler to invoke upon completion, may be null.- Returns:
- A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
-
getDefaultConfigurator
protected ClientConfigurator getDefaultConfigurator()
-
useRealmSpecificEndpointTemplate
public void useRealmSpecificEndpointTemplate(boolean useOfRealmSpecificEndpointTemplateEnabled)
This method should be used to enable or disable the use of realm-specific endpoint template.The default value is null. To enable the use of endpoint template defined for the realm in use, set the flag to true To disable the use of endpoint template defined for the realm in use, set the flag to false
- Parameters:
useOfRealmSpecificEndpointTemplateEnabled
- This flag can be set to true or false to enable or disable the use of realm-specific endpoint template respectively
-
populateServiceParametersInEndpoint
public final void populateServiceParametersInEndpoint(String endpoint, Map<String,Object> requiredParametersMap)
Populate the parameters in the endpoint with its corresponding value and update the base endpoint.The value will be populated iff the parameter in endpoint is a required request path parameter or a required request query parameter. If not, the parameter in the endpoint will be ignored and left blank.
- Parameters:
endpoint
- The endpoint template in userequiredParametersMap
- Map of parameter name as key and value set in request path or query parameter as value
-
updateBaseEndpoint
public final void updateBaseEndpoint(String endpoint)
This method should be used for parameterized endpoint templates only.This does not include {region} and {secondLevelDomain} parameters.
- Parameters:
endpoint
- The updated endpoint to use
-
setEndpoint
public final void setEndpoint(String endpoint)
-
getEndpoint
public final String getEndpoint()
-
refreshClient
public final void refreshClient()
Rebuild the backingHttpClient
.This will call
ClientConfigurator
s again, and can be used to e.g. refresh the SSL certificate.
-
close
public final void close()
- Specified by:
close
in interfaceAutoCloseable
-
getClientCommonLibraryVersion
public String getClientCommonLibraryVersion()
-
getMinimumClientCommonLibraryVersionFromClient
public Optional<String> getMinimumClientCommonLibraryVersionFromClient()
-
clientCall
protected <REQ extends BmcRequest<?>,RESP extends BmcResponse,RESP_BUILDER extends BmcResponse.Builder<RESP>> ClientCall<REQ,RESP,RESP_BUILDER> clientCall(REQ request, Supplier<RESP_BUILDER> responseBuilder)
-
-