com.amazonaws.services.codecommit

## Class AWSCodeCommitAsyncClient

- java.lang.Object
- - com.amazonaws.AmazonWebServiceClient
  - - com.amazonaws.services.codecommit.AWSCodeCommitClient
    - - com.amazonaws.services.codecommit.AWSCodeCommitAsyncClient

All Implemented Interfaces:
  AWSCodeCommit, AWSCodeCommitAsync

    @ThreadSafe
    public class AWSCodeCommitAsyncClient
    extends AWSCodeCommitClient
    implements AWSCodeCommitAsync

Client for accessing CodeCommit asynchronously. Each asynchronous method will return a Java Future object representing the asynchronous operation; overloads which accept an `AsyncHandler` can be used to receive notification when an asynchronous operation completes.

<fullname>AWS CodeCommit</fullname>

This is the AWS CodeCommit API Reference. This reference provides descriptions of the operations and data types for AWS CodeCommit API.

You can use the AWS CodeCommit API to work with the following objects:

- Repositories, by calling the following:
  - BatchGetRepositories, which returns information about one or more repositories associated with your AWS account
  - CreateRepository, which creates an AWS CodeCommit repository
  - DeleteRepository, which deletes an AWS CodeCommit repository
  - GetRepository, which returns information about a specified repository
  - ListRepositories, which lists all AWS CodeCommit repositories associated with your AWS account
  - UpdateRepositoryDescription, which sets or updates the description of the repository
  - UpdateRepositoryName, which changes the name of the repository. If you change the name of a repository, no other users of that repository will be able to access it until you send them the new HTTPS or SSH URL to use.
- Branches, by calling the following:
  - CreateBranch, which creates a new branch in a specified repository
  - GetBranch, which returns information about a specified branch
  - ListBranches, which lists all branches for a specified repository
  - UpdateDefaultBranch, which changes the default branch for a repository
- Information about committed code in a repository, by calling the following:
  - GetCommit, which returns information about a commit, including commit messages and committer information.
- Triggers, by calling the following:
  - GetRepositoryTriggers, which returns information about triggers configured for a repository
  - PutRepositoryTriggers, which replaces all triggers for a repository and can be used to create or delete triggers
  - TestRepositoryTriggers, which tests the functionality of a repository trigger by sending data to the trigger target

For information about how to use AWS CodeCommit, see the AWS CodeCommit User Guide.

### Field Summary

### Fields inherited from class com.amazonaws.services.codecommit.AWSCodeCommitClient

`configFactory`

### Fields inherited from class com.amazonaws.AmazonWebServiceClient

`client, clientConfiguration, endpoint, LOGGING_AWS_REQUEST_METRIC, requestHandler2s, timeOffset`

### Fields inherited from interface com.amazonaws.services.codecommit.AWSCodeCommit

`ENDPOINT_PREFIX`

### Constructor Summary

Constructors
Constructor and Description
`AWSCodeCommitAsyncClient()` Constructs a new asynchronous client to invoke service methods on CodeCommit.
`AWSCodeCommitAsyncClient(AWSCredentials awsCredentials)` Constructs a new asynchronous client to invoke service methods on CodeCommit using the specified AWS account credentials.
`AWSCodeCommitAsyncClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, ExecutorService executorService)` Constructs a new asynchronous client to invoke service methods on CodeCommit using the specified AWS account credentials, executor service, and client configuration options.
`AWSCodeCommitAsyncClient(AWSCredentials awsCredentials, ExecutorService executorService)` Constructs a new asynchronous client to invoke service methods on CodeCommit using the specified AWS account credentials and executor service.
`AWSCodeCommitAsyncClient(AWSCredentialsProvider awsCredentialsProvider)` Constructs a new asynchronous client to invoke service methods on CodeCommit using the specified AWS account credentials provider.
`AWSCodeCommitAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration)` Constructs a new asynchronous client to invoke service methods on CodeCommit using the provided AWS account credentials provider and client configuration options.
`AWSCodeCommitAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, ExecutorService executorService)` Constructs a new asynchronous client to invoke service methods on CodeCommit using the specified AWS account credentials provider, executor service, and client configuration options.
`AWSCodeCommitAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ExecutorService executorService)` Constructs a new asynchronous client to invoke service methods on CodeCommit using the specified AWS account credentials provider and executor service.
`AWSCodeCommitAsyncClient(ClientConfiguration clientConfiguration)` Constructs a new asynchronous client to invoke service methods on CodeCommit.

### Method Summary

All Methods Instance Methods Concrete Methods
`Future<BatchGetRepositoriesResult>` `batchGetRepositoriesAsync(BatchGetRepositoriesRequest request)` Returns information about one or more repositories.
`Future<BatchGetRepositoriesResult>` `batchGetRepositoriesAsync(BatchGetRepositoriesRequest request, AsyncHandler<BatchGetRepositoriesRequest,BatchGetRepositoriesResult> asyncHandler)` Returns information about one or more repositories.
`Future<CreateBranchResult>` `createBranchAsync(CreateBranchRequest request)` Creates a new branch in a repository and points the branch to a commit.
`Future<CreateBranchResult>` `createBranchAsync(CreateBranchRequest request, AsyncHandler<CreateBranchRequest,CreateBranchResult> asyncHandler)` Creates a new branch in a repository and points the branch to a commit.
`Future<CreateRepositoryResult>` `createRepositoryAsync(CreateRepositoryRequest request)` Creates a new, empty repository.
`Future<CreateRepositoryResult>` `createRepositoryAsync(CreateRepositoryRequest request, AsyncHandler<CreateRepositoryRequest,CreateRepositoryResult> asyncHandler)` Creates a new, empty repository.
`Future<DeleteRepositoryResult>` `deleteRepositoryAsync(DeleteRepositoryRequest request)` Deletes a repository.
`Future<DeleteRepositoryResult>` `deleteRepositoryAsync(DeleteRepositoryRequest request, AsyncHandler<DeleteRepositoryRequest,DeleteRepositoryResult> asyncHandler)` Deletes a repository.
`Future<GetBranchResult>` `getBranchAsync(GetBranchRequest request)` Returns information about a repository branch, including its name and the last commit ID.
`Future<GetBranchResult>` `getBranchAsync(GetBranchRequest request, AsyncHandler<GetBranchRequest,GetBranchResult> asyncHandler)` Returns information about a repository branch, including its name and the last commit ID.
`Future<GetCommitResult>` `getCommitAsync(GetCommitRequest request)` Returns information about a commit, including commit message and committer information.
`Future<GetCommitResult>` `getCommitAsync(GetCommitRequest request, AsyncHandler<GetCommitRequest,GetCommitResult> asyncHandler)` Returns information about a commit, including commit message and committer information.
`ExecutorService` `getExecutorService()` Returns the executor service used by this client to execute async requests.
`Future<GetRepositoryResult>` `getRepositoryAsync(GetRepositoryRequest request)` Returns information about a repository.
`Future<GetRepositoryResult>` `getRepositoryAsync(GetRepositoryRequest request, AsyncHandler<GetRepositoryRequest,GetRepositoryResult> asyncHandler)` Returns information about a repository.
`Future<GetRepositoryTriggersResult>` `getRepositoryTriggersAsync(GetRepositoryTriggersRequest request)` Gets information about triggers configured for a repository.
`Future<GetRepositoryTriggersResult>` `getRepositoryTriggersAsync(GetRepositoryTriggersRequest request, AsyncHandler<GetRepositoryTriggersRequest,GetRepositoryTriggersResult> asyncHandler)` Gets information about triggers configured for a repository.
`Future<ListBranchesResult>` `listBranchesAsync(ListBranchesRequest request)` Gets information about one or more branches in a repository.
`Future<ListBranchesResult>` `listBranchesAsync(ListBranchesRequest request, AsyncHandler<ListBranchesRequest,ListBranchesResult> asyncHandler)` Gets information about one or more branches in a repository.
`Future<ListRepositoriesResult>` `listRepositoriesAsync(ListRepositoriesRequest request)` Gets information about one or more repositories.
`Future<ListRepositoriesResult>` `listRepositoriesAsync(ListRepositoriesRequest request, AsyncHandler<ListRepositoriesRequest,ListRepositoriesResult> asyncHandler)` Gets information about one or more repositories.
`Future<PutRepositoryTriggersResult>` `putRepositoryTriggersAsync(PutRepositoryTriggersRequest request)` Replaces all triggers for a repository.
`Future<PutRepositoryTriggersResult>` `putRepositoryTriggersAsync(PutRepositoryTriggersRequest request, AsyncHandler<PutRepositoryTriggersRequest,PutRepositoryTriggersResult> asyncHandler)` Replaces all triggers for a repository.
`void` `shutdown()` Shuts down the client, releasing all managed resources.
`Future<TestRepositoryTriggersResult>` `testRepositoryTriggersAsync(TestRepositoryTriggersRequest request)` Tests the functionality of repository triggers by sending information to the trigger target.
`Future<TestRepositoryTriggersResult>` `testRepositoryTriggersAsync(TestRepositoryTriggersRequest request, AsyncHandler<TestRepositoryTriggersRequest,TestRepositoryTriggersResult> asyncHandler)` Tests the functionality of repository triggers by sending information to the trigger target.
`Future<UpdateDefaultBranchResult>` `updateDefaultBranchAsync(UpdateDefaultBranchRequest request)` Sets or changes the default branch name for the specified repository.
`Future<UpdateDefaultBranchResult>` `updateDefaultBranchAsync(UpdateDefaultBranchRequest request, AsyncHandler<UpdateDefaultBranchRequest,UpdateDefaultBranchResult> asyncHandler)` Sets or changes the default branch name for the specified repository.
`Future<UpdateRepositoryDescriptionResult>` `updateRepositoryDescriptionAsync(UpdateRepositoryDescriptionRequest request)` Sets or changes the comment or description for a repository.
`Future<UpdateRepositoryDescriptionResult>` `updateRepositoryDescriptionAsync(UpdateRepositoryDescriptionRequest request, AsyncHandler<UpdateRepositoryDescriptionRequest,UpdateRepositoryDescriptionResult> asyncHandler)` Sets or changes the comment or description for a repository.
`Future<UpdateRepositoryNameResult>` `updateRepositoryNameAsync(UpdateRepositoryNameRequest request)` Renames a repository.
`Future<UpdateRepositoryNameResult>` `updateRepositoryNameAsync(UpdateRepositoryNameRequest request, AsyncHandler<UpdateRepositoryNameRequest,UpdateRepositoryNameResult> asyncHandler)` Renames a repository.

### Methods inherited from class com.amazonaws.services.codecommit.AWSCodeCommitClient

`batchGetRepositories, createBranch, createRepository, deleteRepository, getBranch, getCachedResponseMetadata, getCommit, getRepository, getRepositoryTriggers, listBranches, listRepositories, putRepositoryTriggers, testRepositoryTriggers, updateDefaultBranch, updateRepositoryDescription, updateRepositoryName`

### Methods inherited from class com.amazonaws.AmazonWebServiceClient

`addRequestHandler, addRequestHandler, beforeMarshalling, calculateCRC32FromCompressedData, checkMutability, configureRegion, createExecutionContext, createExecutionContext, createExecutionContext, createSignerProvider, endClientExecution, endClientExecution, getEndpointPrefix, getRequestMetricsCollector, getServiceAbbreviation, getServiceName, getServiceNameIntern, getSigner, getSignerByURI, getSignerProvider, getSignerRegionOverride, getTimeOffset, isProfilingEnabled, isRequestMetricsEnabled, makeImmutable, removeRequestHandler, removeRequestHandler, requestMetricCollector, setEndpoint, setEndpointPrefix, setRegion, setServiceNameIntern, setSignerRegionOverride, setTimeOffset, useStrictHostNameVerification, withEndpoint, withRegion, withRegion, withTimeOffset`

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

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

### Methods inherited from interface com.amazonaws.services.codecommit.AWSCodeCommit

`batchGetRepositories, createBranch, createRepository, deleteRepository, getBranch, getCachedResponseMetadata, getCommit, getRepository, getRepositoryTriggers, listBranches, listRepositories, putRepositoryTriggers, setEndpoint, setRegion, testRepositoryTriggers, updateDefaultBranch, updateRepositoryDescription, updateRepositoryName`

### Constructor Detail

#### AWSCodeCommitAsyncClient

    public AWSCodeCommitAsyncClient()

Constructs a new asynchronous client to invoke service methods on CodeCommit. A credentials provider chain will be used that searches for credentials in this order:

- Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
- Java System Properties - aws.accessKeyId and aws.secretKey
- Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
- Instance profile credentials delivered through the Amazon EC2 metadata service

Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

See Also:
  `DefaultAWSCredentialsProviderChain`, `Executors.newFixedThreadPool(int)`

#### AWSCodeCommitAsyncClient

    public AWSCodeCommitAsyncClient(ClientConfiguration clientConfiguration)

Constructs a new asynchronous client to invoke service methods on CodeCommit. A credentials provider chain will be used that searches for credentials in this order:

- Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
- Java System Properties - aws.accessKeyId and aws.secretKey
- Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
- Instance profile credentials delivered through the Amazon EC2 metadata service

Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via `ClientConfiguration.getMaxConnections()`.

Parameters:
  `clientConfiguration` - The client configuration options controlling how this client connects to CodeCommit (ex: proxy settings, retry counts, etc).
See Also:
  `DefaultAWSCredentialsProviderChain`, `Executors.newFixedThreadPool(int)`

#### AWSCodeCommitAsyncClient

    public AWSCodeCommitAsyncClient(AWSCredentials awsCredentials)

Constructs a new asynchronous client to invoke service methods on CodeCommit using the specified AWS account credentials.

Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

Parameters:
  `awsCredentials` - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
See Also:
  `Executors.newFixedThreadPool(int)`

#### AWSCodeCommitAsyncClient

    public AWSCodeCommitAsyncClient(AWSCredentials awsCredentials,
                                    ExecutorService executorService)

Constructs a new asynchronous client to invoke service methods on CodeCommit using the specified AWS account credentials and executor service. Default client settings will be used.

Parameters:
  `awsCredentials` - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
  `executorService` - The executor service by which all asynchronous requests will be executed.

#### AWSCodeCommitAsyncClient

    public AWSCodeCommitAsyncClient(AWSCredentials awsCredentials,
                                    ClientConfiguration clientConfiguration,
                                    ExecutorService executorService)

Constructs a new asynchronous client to invoke service methods on CodeCommit using the specified AWS account credentials, executor service, and client configuration options.

Parameters:
  `awsCredentials` - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
  `clientConfiguration` - Client configuration options (ex: max retry limit, proxy settings, etc).
  `executorService` - The executor service by which all asynchronous requests will be executed.

#### AWSCodeCommitAsyncClient

    public AWSCodeCommitAsyncClient(AWSCredentialsProvider awsCredentialsProvider)

Constructs a new asynchronous client to invoke service methods on CodeCommit using the specified AWS account credentials provider. Default client settings will be used.

Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
See Also:
  `Executors.newFixedThreadPool(int)`

#### AWSCodeCommitAsyncClient

    public AWSCodeCommitAsyncClient(AWSCredentialsProvider awsCredentialsProvider,
                                    ClientConfiguration clientConfiguration)

Constructs a new asynchronous client to invoke service methods on CodeCommit using the provided AWS account credentials provider and client configuration options.

Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via `ClientConfiguration.getMaxConnections()`.

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
  `clientConfiguration` - Client configuration options (ex: max retry limit, proxy settings, etc).
See Also:
  `DefaultAWSCredentialsProviderChain`, `Executors.newFixedThreadPool(int)`

#### AWSCodeCommitAsyncClient

    public AWSCodeCommitAsyncClient(AWSCredentialsProvider awsCredentialsProvider,
                                    ExecutorService executorService)

Constructs a new asynchronous client to invoke service methods on CodeCommit using the specified AWS account credentials provider and executor service. Default client settings will be used.

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
  `executorService` - The executor service by which all asynchronous requests will be executed.

#### AWSCodeCommitAsyncClient

    public AWSCodeCommitAsyncClient(AWSCredentialsProvider awsCredentialsProvider,
                                    ClientConfiguration clientConfiguration,
                                    ExecutorService executorService)

Constructs a new asynchronous client to invoke service methods on CodeCommit using the specified AWS account credentials provider, executor service, and client configuration options.

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
  `clientConfiguration` - Client configuration options (ex: max retry limit, proxy settings, etc).
  `executorService` - The executor service by which all asynchronous requests will be executed.

### Method Detail

#### getExecutorService

    public ExecutorService getExecutorService()

Returns the executor service used by this client to execute async requests.

Returns:
  The executor service used by this client to execute async requests.

#### batchGetRepositoriesAsync

    public Future<BatchGetRepositoriesResult> batchGetRepositoriesAsync(BatchGetRepositoriesRequest request)

Description copied from interface: `AWSCodeCommitAsync`

Returns information about one or more repositories.

<note>

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

</note>

Specified by:
  `batchGetRepositoriesAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a batch get repositories operation.
Returns:
  A Java Future containing the result of the BatchGetRepositories operation returned by the service.

#### batchGetRepositoriesAsync

    public Future<BatchGetRepositoriesResult> batchGetRepositoriesAsync(BatchGetRepositoriesRequest request,
                                                                        AsyncHandler<BatchGetRepositoriesRequest,BatchGetRepositoriesResult> asyncHandler)

Description copied from interface: `AWSCodeCommitAsync`

Returns information about one or more repositories.

<note>

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

</note>

Specified by:
  `batchGetRepositoriesAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a batch get repositories operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the BatchGetRepositories operation returned by the service.

#### createBranchAsync

    public Future<CreateBranchResult> createBranchAsync(CreateBranchRequest request)

Description copied from interface: `AWSCodeCommitAsync`

Creates a new branch in a repository and points the branch to a commit.

<note>

Calling the create branch operation does not set a repository's default branch. To do this, call the update default branch operation.

</note>

Specified by:
  `createBranchAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a create branch operation.
Returns:
  A Java Future containing the result of the CreateBranch operation returned by the service.

#### createBranchAsync

    public Future<CreateBranchResult> createBranchAsync(CreateBranchRequest request,
                                                        AsyncHandler<CreateBranchRequest,CreateBranchResult> asyncHandler)

Description copied from interface: `AWSCodeCommitAsync`

Creates a new branch in a repository and points the branch to a commit.

<note>

Calling the create branch operation does not set a repository's default branch. To do this, call the update default branch operation.

</note>

Specified by:
  `createBranchAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a create branch operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the CreateBranch operation returned by the service.

#### createRepositoryAsync

    public Future<CreateRepositoryResult> createRepositoryAsync(CreateRepositoryRequest request)

Description copied from interface: `AWSCodeCommitAsync`

Creates a new, empty repository.

Specified by:
  `createRepositoryAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a create repository operation.
Returns:
  A Java Future containing the result of the CreateRepository operation returned by the service.

#### createRepositoryAsync

    public Future<CreateRepositoryResult> createRepositoryAsync(CreateRepositoryRequest request,
                                                                AsyncHandler<CreateRepositoryRequest,CreateRepositoryResult> asyncHandler)

Description copied from interface: `AWSCodeCommitAsync`

Creates a new, empty repository.

Specified by:
  `createRepositoryAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a create repository operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the CreateRepository operation returned by the service.

#### deleteRepositoryAsync

    public Future<DeleteRepositoryResult> deleteRepositoryAsync(DeleteRepositoryRequest request)

Description copied from interface: `AWSCodeCommitAsync`

Deletes a repository. If a specified repository was already deleted, a null repository ID will be returned.

<important>Deleting a repository also deletes all associated objects and metadata. After a repository is deleted, all future push calls to the deleted repository will fail.</important>

Specified by:
  `deleteRepositoryAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a delete repository operation.
Returns:
  A Java Future containing the result of the DeleteRepository operation returned by the service.

#### deleteRepositoryAsync

    public Future<DeleteRepositoryResult> deleteRepositoryAsync(DeleteRepositoryRequest request,
                                                                AsyncHandler<DeleteRepositoryRequest,DeleteRepositoryResult> asyncHandler)

Description copied from interface: `AWSCodeCommitAsync`

Deletes a repository. If a specified repository was already deleted, a null repository ID will be returned.

<important>Deleting a repository also deletes all associated objects and metadata. After a repository is deleted, all future push calls to the deleted repository will fail.</important>

Specified by:
  `deleteRepositoryAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a delete repository operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the DeleteRepository operation returned by the service.

#### getBranchAsync

    public Future<GetBranchResult> getBranchAsync(GetBranchRequest request)

Description copied from interface: `AWSCodeCommitAsync`

Returns information about a repository branch, including its name and the last commit ID.

Specified by:
  `getBranchAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a get branch operation.
Returns:
  A Java Future containing the result of the GetBranch operation returned by the service.

#### getBranchAsync

    public Future<GetBranchResult> getBranchAsync(GetBranchRequest request,
                                                  AsyncHandler<GetBranchRequest,GetBranchResult> asyncHandler)

Description copied from interface: `AWSCodeCommitAsync`

Returns information about a repository branch, including its name and the last commit ID.

Specified by:
  `getBranchAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a get branch operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the GetBranch operation returned by the service.

#### getCommitAsync

    public Future<GetCommitResult> getCommitAsync(GetCommitRequest request)

Description copied from interface: `AWSCodeCommitAsync`

Returns information about a commit, including commit message and committer information.

Specified by:
  `getCommitAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a get commit operation.
Returns:
  A Java Future containing the result of the GetCommit operation returned by the service.

#### getCommitAsync

    public Future<GetCommitResult> getCommitAsync(GetCommitRequest request,
                                                  AsyncHandler<GetCommitRequest,GetCommitResult> asyncHandler)

Description copied from interface: `AWSCodeCommitAsync`

Returns information about a commit, including commit message and committer information.

Specified by:
  `getCommitAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a get commit operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the GetCommit operation returned by the service.

#### getRepositoryAsync

    public Future<GetRepositoryResult> getRepositoryAsync(GetRepositoryRequest request)

Description copied from interface: `AWSCodeCommitAsync`

Returns information about a repository.

<note>

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

</note>

Specified by:
  `getRepositoryAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a get repository operation.
Returns:
  A Java Future containing the result of the GetRepository operation returned by the service.

#### getRepositoryAsync

    public Future<GetRepositoryResult> getRepositoryAsync(GetRepositoryRequest request,
                                                          AsyncHandler<GetRepositoryRequest,GetRepositoryResult> asyncHandler)

Description copied from interface: `AWSCodeCommitAsync`

Returns information about a repository.

<note>

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

</note>

Specified by:
  `getRepositoryAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a get repository operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the GetRepository operation returned by the service.

#### getRepositoryTriggersAsync

    public Future<GetRepositoryTriggersResult> getRepositoryTriggersAsync(GetRepositoryTriggersRequest request)

Description copied from interface: `AWSCodeCommitAsync`

Gets information about triggers configured for a repository.

Specified by:
  `getRepositoryTriggersAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a get repository triggers operation.
Returns:
  A Java Future containing the result of the GetRepositoryTriggers operation returned by the service.

#### getRepositoryTriggersAsync

    public Future<GetRepositoryTriggersResult> getRepositoryTriggersAsync(GetRepositoryTriggersRequest request,
                                                                          AsyncHandler<GetRepositoryTriggersRequest,GetRepositoryTriggersResult> asyncHandler)

Description copied from interface: `AWSCodeCommitAsync`

Gets information about triggers configured for a repository.

Specified by:
  `getRepositoryTriggersAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a get repository triggers operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the GetRepositoryTriggers operation returned by the service.

#### listBranchesAsync

    public Future<ListBranchesResult> listBranchesAsync(ListBranchesRequest request)

Description copied from interface: `AWSCodeCommitAsync`

Gets information about one or more branches in a repository.

Specified by:
  `listBranchesAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a list branches operation.
Returns:
  A Java Future containing the result of the ListBranches operation returned by the service.

#### listBranchesAsync

    public Future<ListBranchesResult> listBranchesAsync(ListBranchesRequest request,
                                                        AsyncHandler<ListBranchesRequest,ListBranchesResult> asyncHandler)

Description copied from interface: `AWSCodeCommitAsync`

Gets information about one or more branches in a repository.

Specified by:
  `listBranchesAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a list branches operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the ListBranches operation returned by the service.

#### listRepositoriesAsync

    public Future<ListRepositoriesResult> listRepositoriesAsync(ListRepositoriesRequest request)

Description copied from interface: `AWSCodeCommitAsync`

Gets information about one or more repositories.

Specified by:
  `listRepositoriesAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a list repositories operation.
Returns:
  A Java Future containing the result of the ListRepositories operation returned by the service.

#### listRepositoriesAsync

    public Future<ListRepositoriesResult> listRepositoriesAsync(ListRepositoriesRequest request,
                                                                AsyncHandler<ListRepositoriesRequest,ListRepositoriesResult> asyncHandler)

Description copied from interface: `AWSCodeCommitAsync`

Gets information about one or more repositories.

Specified by:
  `listRepositoriesAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a list repositories operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the ListRepositories operation returned by the service.

#### putRepositoryTriggersAsync

    public Future<PutRepositoryTriggersResult> putRepositoryTriggersAsync(PutRepositoryTriggersRequest request)

Description copied from interface: `AWSCodeCommitAsync`

Replaces all triggers for a repository. This can be used to create or delete triggers.

Specified by:
  `putRepositoryTriggersAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input ofa put repository triggers operation.
Returns:
  A Java Future containing the result of the PutRepositoryTriggers operation returned by the service.

#### putRepositoryTriggersAsync

    public Future<PutRepositoryTriggersResult> putRepositoryTriggersAsync(PutRepositoryTriggersRequest request,
                                                                          AsyncHandler<PutRepositoryTriggersRequest,PutRepositoryTriggersResult> asyncHandler)

Description copied from interface: `AWSCodeCommitAsync`

Replaces all triggers for a repository. This can be used to create or delete triggers.

Specified by:
  `putRepositoryTriggersAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input ofa put repository triggers operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the PutRepositoryTriggers operation returned by the service.

#### testRepositoryTriggersAsync

    public Future<TestRepositoryTriggersResult> testRepositoryTriggersAsync(TestRepositoryTriggersRequest request)

Description copied from interface: `AWSCodeCommitAsync`

Tests the functionality of repository triggers by sending information to the trigger target. If real data is available in the repository, the test will send data from the last commit. If no data is available, sample data will be generated.

Specified by:
  `testRepositoryTriggersAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a test repository triggers operation.
Returns:
  A Java Future containing the result of the TestRepositoryTriggers operation returned by the service.

#### testRepositoryTriggersAsync

    public Future<TestRepositoryTriggersResult> testRepositoryTriggersAsync(TestRepositoryTriggersRequest request,
                                                                            AsyncHandler<TestRepositoryTriggersRequest,TestRepositoryTriggersResult> asyncHandler)

Description copied from interface: `AWSCodeCommitAsync`

Tests the functionality of repository triggers by sending information to the trigger target. If real data is available in the repository, the test will send data from the last commit. If no data is available, sample data will be generated.

Specified by:
  `testRepositoryTriggersAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of a test repository triggers operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the TestRepositoryTriggers operation returned by the service.

#### updateDefaultBranchAsync

    public Future<UpdateDefaultBranchResult> updateDefaultBranchAsync(UpdateDefaultBranchRequest request)

Description copied from interface: `AWSCodeCommitAsync`

Sets or changes the default branch name for the specified repository.

<note>

If you use this operation to change the default branch name to the current default branch name, a success message is returned even though the default branch did not change.

</note>

Specified by:
  `updateDefaultBranchAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of an update default branch operation.
Returns:
  A Java Future containing the result of the UpdateDefaultBranch operation returned by the service.

#### updateDefaultBranchAsync

    public Future<UpdateDefaultBranchResult> updateDefaultBranchAsync(UpdateDefaultBranchRequest request,
                                                                      AsyncHandler<UpdateDefaultBranchRequest,UpdateDefaultBranchResult> asyncHandler)

Description copied from interface: `AWSCodeCommitAsync`

Sets or changes the default branch name for the specified repository.

<note>

If you use this operation to change the default branch name to the current default branch name, a success message is returned even though the default branch did not change.

</note>

Specified by:
  `updateDefaultBranchAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of an update default branch operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the UpdateDefaultBranch operation returned by the service.

#### updateRepositoryDescriptionAsync

    public Future<UpdateRepositoryDescriptionResult> updateRepositoryDescriptionAsync(UpdateRepositoryDescriptionRequest request)

Description copied from interface: `AWSCodeCommitAsync`

Sets or changes the comment or description for a repository.

<note>

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

</note>

Specified by:
  `updateRepositoryDescriptionAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of an update repository description operation.
Returns:
  A Java Future containing the result of the UpdateRepositoryDescription operation returned by the service.

#### updateRepositoryDescriptionAsync

    public Future<UpdateRepositoryDescriptionResult> updateRepositoryDescriptionAsync(UpdateRepositoryDescriptionRequest request,
                                                                                      AsyncHandler<UpdateRepositoryDescriptionRequest,UpdateRepositoryDescriptionResult> asyncHandler)

Description copied from interface: `AWSCodeCommitAsync`

Sets or changes the comment or description for a repository.

<note>

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

</note>

Specified by:
  `updateRepositoryDescriptionAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of an update repository description operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the UpdateRepositoryDescription operation returned by the service.

#### updateRepositoryNameAsync

    public Future<UpdateRepositoryNameResult> updateRepositoryNameAsync(UpdateRepositoryNameRequest request)

Description copied from interface: `AWSCodeCommitAsync`

Renames a repository. The repository name must be unique across the calling AWS account. In addition, repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. The suffix ".git" is prohibited. For a full description of the limits on repository names, see Limits in the AWS CodeCommit User Guide.

Specified by:
  `updateRepositoryNameAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of an update repository description operation.
Returns:
  A Java Future containing the result of the UpdateRepositoryName operation returned by the service.

#### updateRepositoryNameAsync

    public Future<UpdateRepositoryNameResult> updateRepositoryNameAsync(UpdateRepositoryNameRequest request,
                                                                        AsyncHandler<UpdateRepositoryNameRequest,UpdateRepositoryNameResult> asyncHandler)

Description copied from interface: `AWSCodeCommitAsync`

Renames a repository. The repository name must be unique across the calling AWS account. In addition, repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. The suffix ".git" is prohibited. For a full description of the limits on repository names, see Limits in the AWS CodeCommit User Guide.

Specified by:
  `updateRepositoryNameAsync` in interface `AWSCodeCommitAsync`
Parameters:
  `request` - Represents the input of an update repository description operation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the UpdateRepositoryName operation returned by the service.

#### shutdown

    public void shutdown()

Shuts down the client, releasing all managed resources. This includes forcibly terminating all pending asynchronous service calls. Clients who wish to give pending asynchronous service calls time to complete should call `getExecutorService().shutdown()` followed by `getExecutorService().awaitTermination()` prior to calling this method.

Specified by:
  `shutdown` in interface `AWSCodeCommit`
Overrides:
  `shutdown` in class `AmazonWebServiceClient`