public class AbstractAWSCodePipelineAsync extends AbstractAWSCodePipeline implements AWSCodePipelineAsync
AWSCodePipelineAsync. Convenient method
forms pass through to the corresponding overload that takes a request object
and an AsyncHandler, which throws an
UnsupportedOperationException.| Modifier | Constructor and Description |
|---|---|
protected |
AbstractAWSCodePipelineAsync() |
acknowledgeJob, acknowledgeThirdPartyJob, createCustomActionType, createPipeline, deleteCustomActionType, deletePipeline, disableStageTransition, enableStageTransition, getCachedResponseMetadata, getJobDetails, getPipeline, getPipelineState, getThirdPartyJobDetails, listActionTypes, listPipelines, pollForJobs, pollForThirdPartyJobs, putActionRevision, putJobFailureResult, putJobSuccessResult, putThirdPartyJobFailureResult, putThirdPartyJobSuccessResult, setEndpoint, setRegion, shutdown, startPipelineExecution, updatePipelineclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitacknowledgeJob, acknowledgeThirdPartyJob, createCustomActionType, createPipeline, deleteCustomActionType, deletePipeline, disableStageTransition, enableStageTransition, getCachedResponseMetadata, getJobDetails, getPipeline, getPipelineState, getThirdPartyJobDetails, listActionTypes, listPipelines, pollForJobs, pollForThirdPartyJobs, putActionRevision, putJobFailureResult, putJobSuccessResult, putThirdPartyJobFailureResult, putThirdPartyJobSuccessResult, setEndpoint, setRegion, shutdown, startPipelineExecution, updatePipelinepublic Future<AcknowledgeJobResult> acknowledgeJobAsync(AcknowledgeJobRequest request)
AWSCodePipelineAsyncReturns information about a specified job and whether that job has been received by the job worker. Only used for custom actions.
acknowledgeJobAsync in interface AWSCodePipelineAsyncrequest - Represents the input of an acknowledge job action.public Future<AcknowledgeJobResult> acknowledgeJobAsync(AcknowledgeJobRequest request, AsyncHandler<AcknowledgeJobRequest,AcknowledgeJobResult> asyncHandler)
AWSCodePipelineAsyncReturns information about a specified job and whether that job has been received by the job worker. Only used for custom actions.
acknowledgeJobAsync in interface AWSCodePipelineAsyncrequest - Represents the input of an acknowledge job action.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.public Future<AcknowledgeThirdPartyJobResult> acknowledgeThirdPartyJobAsync(AcknowledgeThirdPartyJobRequest request)
AWSCodePipelineAsyncConfirms a job worker has received the specified job. Only used for partner actions.
acknowledgeThirdPartyJobAsync in interface AWSCodePipelineAsyncrequest - Represents the input of an acknowledge third party job action.public Future<AcknowledgeThirdPartyJobResult> acknowledgeThirdPartyJobAsync(AcknowledgeThirdPartyJobRequest request, AsyncHandler<AcknowledgeThirdPartyJobRequest,AcknowledgeThirdPartyJobResult> asyncHandler)
AWSCodePipelineAsyncConfirms a job worker has received the specified job. Only used for partner actions.
acknowledgeThirdPartyJobAsync in interface AWSCodePipelineAsyncrequest - Represents the input of an acknowledge third party job action.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.public Future<CreateCustomActionTypeResult> createCustomActionTypeAsync(CreateCustomActionTypeRequest request)
AWSCodePipelineAsyncCreates a new custom action that can be used in all pipelines associated with the AWS account. Only used for custom actions.
createCustomActionTypeAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a create custom action operation.public Future<CreateCustomActionTypeResult> createCustomActionTypeAsync(CreateCustomActionTypeRequest request, AsyncHandler<CreateCustomActionTypeRequest,CreateCustomActionTypeResult> asyncHandler)
AWSCodePipelineAsyncCreates a new custom action that can be used in all pipelines associated with the AWS account. Only used for custom actions.
createCustomActionTypeAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a create custom action 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.public Future<CreatePipelineResult> createPipelineAsync(CreatePipelineRequest request)
AWSCodePipelineAsyncCreates a pipeline.
createPipelineAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a create pipeline action.public Future<CreatePipelineResult> createPipelineAsync(CreatePipelineRequest request, AsyncHandler<CreatePipelineRequest,CreatePipelineResult> asyncHandler)
AWSCodePipelineAsyncCreates a pipeline.
createPipelineAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a create pipeline action.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.public Future<Void> deleteCustomActionTypeAsync(DeleteCustomActionTypeRequest request)
AWSCodePipelineAsyncMarks a custom action as deleted. PollForJobs for the custom action will fail after the action is marked for deletion. Only used for custom actions.
You cannot recreate a custom action after it has been deleted unless you increase the version number of the action.
deleteCustomActionTypeAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a delete custom action operation. The
custom action will be marked as deleted.public Future<Void> deleteCustomActionTypeAsync(DeleteCustomActionTypeRequest request, AsyncHandler<DeleteCustomActionTypeRequest,Void> asyncHandler)
AWSCodePipelineAsyncMarks a custom action as deleted. PollForJobs for the custom action will fail after the action is marked for deletion. Only used for custom actions.
You cannot recreate a custom action after it has been deleted unless you increase the version number of the action.
deleteCustomActionTypeAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a delete custom action operation. The
custom action will be marked as deleted.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.public Future<Void> deletePipelineAsync(DeletePipelineRequest request)
AWSCodePipelineAsyncDeletes the specified pipeline.
deletePipelineAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a delete pipeline action.public Future<Void> deletePipelineAsync(DeletePipelineRequest request, AsyncHandler<DeletePipelineRequest,Void> asyncHandler)
AWSCodePipelineAsyncDeletes the specified pipeline.
deletePipelineAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a delete pipeline action.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.public Future<Void> disableStageTransitionAsync(DisableStageTransitionRequest request)
AWSCodePipelineAsyncPrevents artifacts in a pipeline from transitioning to the next stage in the pipeline.
disableStageTransitionAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a disable stage transition input action.public Future<Void> disableStageTransitionAsync(DisableStageTransitionRequest request, AsyncHandler<DisableStageTransitionRequest,Void> asyncHandler)
AWSCodePipelineAsyncPrevents artifacts in a pipeline from transitioning to the next stage in the pipeline.
disableStageTransitionAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a disable stage transition input action.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.public Future<Void> enableStageTransitionAsync(EnableStageTransitionRequest request)
AWSCodePipelineAsyncEnables artifacts in a pipeline to transition to a stage in a pipeline.
enableStageTransitionAsync in interface AWSCodePipelineAsyncrequest - Represents the input of an enable stage transition action.public Future<Void> enableStageTransitionAsync(EnableStageTransitionRequest request, AsyncHandler<EnableStageTransitionRequest,Void> asyncHandler)
AWSCodePipelineAsyncEnables artifacts in a pipeline to transition to a stage in a pipeline.
enableStageTransitionAsync in interface AWSCodePipelineAsyncrequest - Represents the input of an enable stage transition action.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.public Future<GetJobDetailsResult> getJobDetailsAsync(GetJobDetailsRequest request)
AWSCodePipelineAsyncReturns information about a job. Only used for custom actions.
When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.
getJobDetailsAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a get job details action.public Future<GetJobDetailsResult> getJobDetailsAsync(GetJobDetailsRequest request, AsyncHandler<GetJobDetailsRequest,GetJobDetailsResult> asyncHandler)
AWSCodePipelineAsyncReturns information about a job. Only used for custom actions.
When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.
getJobDetailsAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a get job details action.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.public Future<GetPipelineResult> getPipelineAsync(GetPipelineRequest request)
AWSCodePipelineAsyncReturns the metadata, structure, stages, and actions of a pipeline. Can be used to return the entire structure of a pipeline in JSON format, which can then be modified and used to update the pipeline structure with UpdatePipeline.
getPipelineAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a get pipeline action.public Future<GetPipelineResult> getPipelineAsync(GetPipelineRequest request, AsyncHandler<GetPipelineRequest,GetPipelineResult> asyncHandler)
AWSCodePipelineAsyncReturns the metadata, structure, stages, and actions of a pipeline. Can be used to return the entire structure of a pipeline in JSON format, which can then be modified and used to update the pipeline structure with UpdatePipeline.
getPipelineAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a get pipeline action.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.public Future<GetPipelineStateResult> getPipelineStateAsync(GetPipelineStateRequest request)
AWSCodePipelineAsyncReturns information about the state of a pipeline, including the stages, actions, and details about the last run of the pipeline.
getPipelineStateAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a get pipeline state action.public Future<GetPipelineStateResult> getPipelineStateAsync(GetPipelineStateRequest request, AsyncHandler<GetPipelineStateRequest,GetPipelineStateResult> asyncHandler)
AWSCodePipelineAsyncReturns information about the state of a pipeline, including the stages, actions, and details about the last run of the pipeline.
getPipelineStateAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a get pipeline state action.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.public Future<GetThirdPartyJobDetailsResult> getThirdPartyJobDetailsAsync(GetThirdPartyJobDetailsRequest request)
AWSCodePipelineAsyncRequests the details of a job for a third party action. Only used for partner actions.
When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.
getThirdPartyJobDetailsAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a get third party job details action.public Future<GetThirdPartyJobDetailsResult> getThirdPartyJobDetailsAsync(GetThirdPartyJobDetailsRequest request, AsyncHandler<GetThirdPartyJobDetailsRequest,GetThirdPartyJobDetailsResult> asyncHandler)
AWSCodePipelineAsyncRequests the details of a job for a third party action. Only used for partner actions.
When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.
getThirdPartyJobDetailsAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a get third party job details action.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.public Future<ListActionTypesResult> listActionTypesAsync(ListActionTypesRequest request)
AWSCodePipelineAsyncGets a summary of all AWS CodePipeline action types associated with your account.
listActionTypesAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a list action types action.public Future<ListActionTypesResult> listActionTypesAsync(ListActionTypesRequest request, AsyncHandler<ListActionTypesRequest,ListActionTypesResult> asyncHandler)
AWSCodePipelineAsyncGets a summary of all AWS CodePipeline action types associated with your account.
listActionTypesAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a list action types action.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.public Future<ListPipelinesResult> listPipelinesAsync(ListPipelinesRequest request)
AWSCodePipelineAsyncGets a summary of all of the pipelines associated with your account.
listPipelinesAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a list pipelines action.public Future<ListPipelinesResult> listPipelinesAsync(ListPipelinesRequest request, AsyncHandler<ListPipelinesRequest,ListPipelinesResult> asyncHandler)
AWSCodePipelineAsyncGets a summary of all of the pipelines associated with your account.
listPipelinesAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a list pipelines action.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.public Future<PollForJobsResult> pollForJobsAsync(PollForJobsRequest request)
AWSCodePipelineAsyncReturns information about any jobs for AWS CodePipeline to act upon.
When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.
pollForJobsAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a poll for jobs action.public Future<PollForJobsResult> pollForJobsAsync(PollForJobsRequest request, AsyncHandler<PollForJobsRequest,PollForJobsResult> asyncHandler)
AWSCodePipelineAsyncReturns information about any jobs for AWS CodePipeline to act upon.
When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.
pollForJobsAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a poll for jobs action.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.public Future<PollForThirdPartyJobsResult> pollForThirdPartyJobsAsync(PollForThirdPartyJobsRequest request)
AWSCodePipelineAsyncDetermines whether there are any third party jobs for a job worker to act on. Only used for partner actions.
When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts.
pollForThirdPartyJobsAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a poll for third party jobs action.public Future<PollForThirdPartyJobsResult> pollForThirdPartyJobsAsync(PollForThirdPartyJobsRequest request, AsyncHandler<PollForThirdPartyJobsRequest,PollForThirdPartyJobsResult> asyncHandler)
AWSCodePipelineAsyncDetermines whether there are any third party jobs for a job worker to act on. Only used for partner actions.
When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts.
pollForThirdPartyJobsAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a poll for third party jobs action.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.public Future<PutActionRevisionResult> putActionRevisionAsync(PutActionRevisionRequest request)
AWSCodePipelineAsyncProvides information to AWS CodePipeline about new revisions to a source.
putActionRevisionAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a put action revision action.public Future<PutActionRevisionResult> putActionRevisionAsync(PutActionRevisionRequest request, AsyncHandler<PutActionRevisionRequest,PutActionRevisionResult> asyncHandler)
AWSCodePipelineAsyncProvides information to AWS CodePipeline about new revisions to a source.
putActionRevisionAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a put action revision action.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.public Future<Void> putJobFailureResultAsync(PutJobFailureResultRequest request)
AWSCodePipelineAsyncRepresents the failure of a job as returned to the pipeline by a job worker. Only used for custom actions.
putJobFailureResultAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a put job failure result action.public Future<Void> putJobFailureResultAsync(PutJobFailureResultRequest request, AsyncHandler<PutJobFailureResultRequest,Void> asyncHandler)
AWSCodePipelineAsyncRepresents the failure of a job as returned to the pipeline by a job worker. Only used for custom actions.
putJobFailureResultAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a put job failure result action.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.public Future<Void> putJobSuccessResultAsync(PutJobSuccessResultRequest request)
AWSCodePipelineAsyncRepresents the success of a job as returned to the pipeline by a job worker. Only used for custom actions.
putJobSuccessResultAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a put job success result action.public Future<Void> putJobSuccessResultAsync(PutJobSuccessResultRequest request, AsyncHandler<PutJobSuccessResultRequest,Void> asyncHandler)
AWSCodePipelineAsyncRepresents the success of a job as returned to the pipeline by a job worker. Only used for custom actions.
putJobSuccessResultAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a put job success result action.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.public Future<Void> putThirdPartyJobFailureResultAsync(PutThirdPartyJobFailureResultRequest request)
AWSCodePipelineAsyncRepresents the failure of a third party job as returned to the pipeline by a job worker. Only used for partner actions.
putThirdPartyJobFailureResultAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a third party job failure result action.public Future<Void> putThirdPartyJobFailureResultAsync(PutThirdPartyJobFailureResultRequest request, AsyncHandler<PutThirdPartyJobFailureResultRequest,Void> asyncHandler)
AWSCodePipelineAsyncRepresents the failure of a third party job as returned to the pipeline by a job worker. Only used for partner actions.
putThirdPartyJobFailureResultAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a third party job failure result action.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.public Future<Void> putThirdPartyJobSuccessResultAsync(PutThirdPartyJobSuccessResultRequest request)
AWSCodePipelineAsyncRepresents the success of a third party job as returned to the pipeline by a job worker. Only used for partner actions.
putThirdPartyJobSuccessResultAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a put third party job success result
action.public Future<Void> putThirdPartyJobSuccessResultAsync(PutThirdPartyJobSuccessResultRequest request, AsyncHandler<PutThirdPartyJobSuccessResultRequest,Void> asyncHandler)
AWSCodePipelineAsyncRepresents the success of a third party job as returned to the pipeline by a job worker. Only used for partner actions.
putThirdPartyJobSuccessResultAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a put third party job success result
action.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.public Future<StartPipelineExecutionResult> startPipelineExecutionAsync(StartPipelineExecutionRequest request)
AWSCodePipelineAsyncStarts the specified pipeline. Specifically, it begins processing the latest commit to the source location specified as part of the pipeline.
startPipelineExecutionAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a start pipeline execution action.public Future<StartPipelineExecutionResult> startPipelineExecutionAsync(StartPipelineExecutionRequest request, AsyncHandler<StartPipelineExecutionRequest,StartPipelineExecutionResult> asyncHandler)
AWSCodePipelineAsyncStarts the specified pipeline. Specifically, it begins processing the latest commit to the source location specified as part of the pipeline.
startPipelineExecutionAsync in interface AWSCodePipelineAsyncrequest - Represents the input of a start pipeline execution action.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.public Future<UpdatePipelineResult> updatePipelineAsync(UpdatePipelineRequest request)
AWSCodePipelineAsyncUpdates a specified pipeline with edits or changes to its structure. Use a JSON file with the pipeline structure in conjunction with UpdatePipeline to provide the full structure of the pipeline. Updating the pipeline increases the version number of the pipeline by 1.
updatePipelineAsync in interface AWSCodePipelineAsyncrequest - Represents the input of an update pipeline action.public Future<UpdatePipelineResult> updatePipelineAsync(UpdatePipelineRequest request, AsyncHandler<UpdatePipelineRequest,UpdatePipelineResult> asyncHandler)
AWSCodePipelineAsyncUpdates a specified pipeline with edits or changes to its structure. Use a JSON file with the pipeline structure in conjunction with UpdatePipeline to provide the full structure of the pipeline. Updating the pipeline increases the version number of the pipeline by 1.
updatePipelineAsync in interface AWSCodePipelineAsyncrequest - Represents the input of an update pipeline action.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.Copyright © 2015. All rights reserved.