com.amazonaws.services.elastictranscoder.model.Job Maven / Gradle / Ivy
Show all versions of aws-java-sdk-elastictranscoder Show documentation
/*
* Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.elastictranscoder.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* A section of the response body that provides information about the job that is created.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class Job implements Serializable, Cloneable, StructuredPojo {
/**
*
* The identifier that Elastic Transcoder assigned to the job. You use this value to get settings for the job or to
* delete the job.
*
*/
private String id;
/**
*
* The Amazon Resource Name (ARN) for the job.
*
*/
private String arn;
/**
*
* The Id
of the pipeline that you want Elastic Transcoder to use for transcoding. The pipeline
* determines several settings, including the Amazon S3 bucket from which Elastic Transcoder gets the files to
* transcode and the bucket into which Elastic Transcoder puts the transcoded files.
*
*/
private String pipelineId;
/**
*
* A section of the request or response body that provides information about the file that is being transcoded.
*
*/
private JobInput input;
/**
*
* Information about the files that you're transcoding. If you specified multiple files for this job, Elastic
* Transcoder stitches the files together to make one output.
*
*/
private com.amazonaws.internal.SdkInternalList inputs;
/**
*
* If you specified one output for a job, information about that output. If you specified multiple outputs for a
* job, the Output object lists information about the first output. This duplicates the information that is listed
* for the first output in the Outputs object.
*
*
*
* Outputs recommended instead.
*
*
*
* A section of the request or response body that provides information about the transcoded (target) file.
*
*/
private JobOutput output;
/**
*
* Information about the output files. We recommend that you use the Outputs
syntax for all jobs, even
* when you want Elastic Transcoder to transcode a file into only one format. Do not use both the
* Outputs
and Output
syntaxes in the same request. You can create a maximum of 30 outputs
* per job.
*
*
* If you specify more than one output for a job, Elastic Transcoder creates the files for each output in the order
* in which you specify them in the job.
*
*/
private com.amazonaws.internal.SdkInternalList outputs;
/**
*
* The value, if any, that you want Elastic Transcoder to prepend to the names of all files that this job creates,
* including output files, thumbnails, and playlists. We recommend that you add a / or some other delimiter to the
* end of the OutputKeyPrefix
.
*
*/
private String outputKeyPrefix;
/**
*
*
* Outputs in Fragmented MP4 or MPEG-TS format only.
*
*
*
* If you specify a preset in PresetId
for which the value of Container
is fmp4
* (Fragmented MP4) or ts (MPEG-TS), Playlists
contains information about the master playlists that you
* want Elastic Transcoder to create.
*
*
* The maximum number of master playlists in a job is 30.
*
*/
private com.amazonaws.internal.SdkInternalList playlists;
/**
*
* The status of the job: Submitted
, Progressing
, Complete
,
* Canceled
, or Error
.
*
*/
private String status;
/**
*
* User-defined metadata that you want to associate with an Elastic Transcoder job. You specify metadata in
* key/value
pairs, and you can add up to 10 key/value
pairs per job. Elastic Transcoder
* does not guarantee that key/value
pairs are returned in the same order in which you specify them.
*
*
* Metadata keys
and values
must use characters from the following list:
*
*
* -
*
* 0-9
*
*
* -
*
* A-Z
and a-z
*
*
* -
*
* Space
*
*
* -
*
* The following symbols: _.:/=+-%@
*
*
*
*/
private com.amazonaws.internal.SdkInternalMap userMetadata;
/**
*
* Details about the timing of a job.
*
*/
private Timing timing;
/**
*
* The identifier that Elastic Transcoder assigned to the job. You use this value to get settings for the job or to
* delete the job.
*
*
* @param id
* The identifier that Elastic Transcoder assigned to the job. You use this value to get settings for the job
* or to delete the job.
*/
public void setId(String id) {
this.id = id;
}
/**
*
* The identifier that Elastic Transcoder assigned to the job. You use this value to get settings for the job or to
* delete the job.
*
*
* @return The identifier that Elastic Transcoder assigned to the job. You use this value to get settings for the
* job or to delete the job.
*/
public String getId() {
return this.id;
}
/**
*
* The identifier that Elastic Transcoder assigned to the job. You use this value to get settings for the job or to
* delete the job.
*
*
* @param id
* The identifier that Elastic Transcoder assigned to the job. You use this value to get settings for the job
* or to delete the job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Job withId(String id) {
setId(id);
return this;
}
/**
*
* The Amazon Resource Name (ARN) for the job.
*
*
* @param arn
* The Amazon Resource Name (ARN) for the job.
*/
public void setArn(String arn) {
this.arn = arn;
}
/**
*
* The Amazon Resource Name (ARN) for the job.
*
*
* @return The Amazon Resource Name (ARN) for the job.
*/
public String getArn() {
return this.arn;
}
/**
*
* The Amazon Resource Name (ARN) for the job.
*
*
* @param arn
* The Amazon Resource Name (ARN) for the job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Job withArn(String arn) {
setArn(arn);
return this;
}
/**
*
* The Id
of the pipeline that you want Elastic Transcoder to use for transcoding. The pipeline
* determines several settings, including the Amazon S3 bucket from which Elastic Transcoder gets the files to
* transcode and the bucket into which Elastic Transcoder puts the transcoded files.
*
*
* @param pipelineId
* The Id
of the pipeline that you want Elastic Transcoder to use for transcoding. The pipeline
* determines several settings, including the Amazon S3 bucket from which Elastic Transcoder gets the files
* to transcode and the bucket into which Elastic Transcoder puts the transcoded files.
*/
public void setPipelineId(String pipelineId) {
this.pipelineId = pipelineId;
}
/**
*
* The Id
of the pipeline that you want Elastic Transcoder to use for transcoding. The pipeline
* determines several settings, including the Amazon S3 bucket from which Elastic Transcoder gets the files to
* transcode and the bucket into which Elastic Transcoder puts the transcoded files.
*
*
* @return The Id
of the pipeline that you want Elastic Transcoder to use for transcoding. The pipeline
* determines several settings, including the Amazon S3 bucket from which Elastic Transcoder gets the files
* to transcode and the bucket into which Elastic Transcoder puts the transcoded files.
*/
public String getPipelineId() {
return this.pipelineId;
}
/**
*
* The Id
of the pipeline that you want Elastic Transcoder to use for transcoding. The pipeline
* determines several settings, including the Amazon S3 bucket from which Elastic Transcoder gets the files to
* transcode and the bucket into which Elastic Transcoder puts the transcoded files.
*
*
* @param pipelineId
* The Id
of the pipeline that you want Elastic Transcoder to use for transcoding. The pipeline
* determines several settings, including the Amazon S3 bucket from which Elastic Transcoder gets the files
* to transcode and the bucket into which Elastic Transcoder puts the transcoded files.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Job withPipelineId(String pipelineId) {
setPipelineId(pipelineId);
return this;
}
/**
*
* A section of the request or response body that provides information about the file that is being transcoded.
*
*
* @param input
* A section of the request or response body that provides information about the file that is being
* transcoded.
*/
public void setInput(JobInput input) {
this.input = input;
}
/**
*
* A section of the request or response body that provides information about the file that is being transcoded.
*
*
* @return A section of the request or response body that provides information about the file that is being
* transcoded.
*/
public JobInput getInput() {
return this.input;
}
/**
*
* A section of the request or response body that provides information about the file that is being transcoded.
*
*
* @param input
* A section of the request or response body that provides information about the file that is being
* transcoded.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Job withInput(JobInput input) {
setInput(input);
return this;
}
/**
*
* Information about the files that you're transcoding. If you specified multiple files for this job, Elastic
* Transcoder stitches the files together to make one output.
*
*
* @return Information about the files that you're transcoding. If you specified multiple files for this job,
* Elastic Transcoder stitches the files together to make one output.
*/
public java.util.List getInputs() {
if (inputs == null) {
inputs = new com.amazonaws.internal.SdkInternalList();
}
return inputs;
}
/**
*
* Information about the files that you're transcoding. If you specified multiple files for this job, Elastic
* Transcoder stitches the files together to make one output.
*
*
* @param inputs
* Information about the files that you're transcoding. If you specified multiple files for this job, Elastic
* Transcoder stitches the files together to make one output.
*/
public void setInputs(java.util.Collection inputs) {
if (inputs == null) {
this.inputs = null;
return;
}
this.inputs = new com.amazonaws.internal.SdkInternalList(inputs);
}
/**
*
* Information about the files that you're transcoding. If you specified multiple files for this job, Elastic
* Transcoder stitches the files together to make one output.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setInputs(java.util.Collection)} or {@link #withInputs(java.util.Collection)} if you want to override the
* existing values.
*
*
* @param inputs
* Information about the files that you're transcoding. If you specified multiple files for this job, Elastic
* Transcoder stitches the files together to make one output.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Job withInputs(JobInput... inputs) {
if (this.inputs == null) {
setInputs(new com.amazonaws.internal.SdkInternalList(inputs.length));
}
for (JobInput ele : inputs) {
this.inputs.add(ele);
}
return this;
}
/**
*
* Information about the files that you're transcoding. If you specified multiple files for this job, Elastic
* Transcoder stitches the files together to make one output.
*
*
* @param inputs
* Information about the files that you're transcoding. If you specified multiple files for this job, Elastic
* Transcoder stitches the files together to make one output.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Job withInputs(java.util.Collection inputs) {
setInputs(inputs);
return this;
}
/**
*
* If you specified one output for a job, information about that output. If you specified multiple outputs for a
* job, the Output object lists information about the first output. This duplicates the information that is listed
* for the first output in the Outputs object.
*
*
*
* Outputs recommended instead.
*
*
*
* A section of the request or response body that provides information about the transcoded (target) file.
*
*
* @param output
* If you specified one output for a job, information about that output. If you specified multiple outputs
* for a job, the Output object lists information about the first output. This duplicates the information
* that is listed for the first output in the Outputs object.
*
* Outputs recommended instead.
*
*
*
* A section of the request or response body that provides information about the transcoded (target) file.
*/
public void setOutput(JobOutput output) {
this.output = output;
}
/**
*
* If you specified one output for a job, information about that output. If you specified multiple outputs for a
* job, the Output object lists information about the first output. This duplicates the information that is listed
* for the first output in the Outputs object.
*
*
*
* Outputs recommended instead.
*
*
*
* A section of the request or response body that provides information about the transcoded (target) file.
*
*
* @return If you specified one output for a job, information about that output. If you specified multiple outputs
* for a job, the Output object lists information about the first output. This duplicates the information
* that is listed for the first output in the Outputs object.
*
* Outputs recommended instead.
*
*
*
* A section of the request or response body that provides information about the transcoded (target) file.
*/
public JobOutput getOutput() {
return this.output;
}
/**
*
* If you specified one output for a job, information about that output. If you specified multiple outputs for a
* job, the Output object lists information about the first output. This duplicates the information that is listed
* for the first output in the Outputs object.
*
*
*
* Outputs recommended instead.
*
*
*
* A section of the request or response body that provides information about the transcoded (target) file.
*
*
* @param output
* If you specified one output for a job, information about that output. If you specified multiple outputs
* for a job, the Output object lists information about the first output. This duplicates the information
* that is listed for the first output in the Outputs object.
*
* Outputs recommended instead.
*
*
*
* A section of the request or response body that provides information about the transcoded (target) file.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Job withOutput(JobOutput output) {
setOutput(output);
return this;
}
/**
*
* Information about the output files. We recommend that you use the Outputs
syntax for all jobs, even
* when you want Elastic Transcoder to transcode a file into only one format. Do not use both the
* Outputs
and Output
syntaxes in the same request. You can create a maximum of 30 outputs
* per job.
*
*
* If you specify more than one output for a job, Elastic Transcoder creates the files for each output in the order
* in which you specify them in the job.
*
*
* @return Information about the output files. We recommend that you use the Outputs
syntax for all
* jobs, even when you want Elastic Transcoder to transcode a file into only one format. Do not use both the
* Outputs
and Output
syntaxes in the same request. You can create a maximum of 30
* outputs per job.
*
* If you specify more than one output for a job, Elastic Transcoder creates the files for each output in
* the order in which you specify them in the job.
*/
public java.util.List getOutputs() {
if (outputs == null) {
outputs = new com.amazonaws.internal.SdkInternalList();
}
return outputs;
}
/**
*
* Information about the output files. We recommend that you use the Outputs
syntax for all jobs, even
* when you want Elastic Transcoder to transcode a file into only one format. Do not use both the
* Outputs
and Output
syntaxes in the same request. You can create a maximum of 30 outputs
* per job.
*
*
* If you specify more than one output for a job, Elastic Transcoder creates the files for each output in the order
* in which you specify them in the job.
*
*
* @param outputs
* Information about the output files. We recommend that you use the Outputs
syntax for all
* jobs, even when you want Elastic Transcoder to transcode a file into only one format. Do not use both the
* Outputs
and Output
syntaxes in the same request. You can create a maximum of 30
* outputs per job.
*
* If you specify more than one output for a job, Elastic Transcoder creates the files for each output in the
* order in which you specify them in the job.
*/
public void setOutputs(java.util.Collection outputs) {
if (outputs == null) {
this.outputs = null;
return;
}
this.outputs = new com.amazonaws.internal.SdkInternalList(outputs);
}
/**
*
* Information about the output files. We recommend that you use the Outputs
syntax for all jobs, even
* when you want Elastic Transcoder to transcode a file into only one format. Do not use both the
* Outputs
and Output
syntaxes in the same request. You can create a maximum of 30 outputs
* per job.
*
*
* If you specify more than one output for a job, Elastic Transcoder creates the files for each output in the order
* in which you specify them in the job.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setOutputs(java.util.Collection)} or {@link #withOutputs(java.util.Collection)} if you want to override
* the existing values.
*
*
* @param outputs
* Information about the output files. We recommend that you use the Outputs
syntax for all
* jobs, even when you want Elastic Transcoder to transcode a file into only one format. Do not use both the
* Outputs
and Output
syntaxes in the same request. You can create a maximum of 30
* outputs per job.
*
* If you specify more than one output for a job, Elastic Transcoder creates the files for each output in the
* order in which you specify them in the job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Job withOutputs(JobOutput... outputs) {
if (this.outputs == null) {
setOutputs(new com.amazonaws.internal.SdkInternalList(outputs.length));
}
for (JobOutput ele : outputs) {
this.outputs.add(ele);
}
return this;
}
/**
*
* Information about the output files. We recommend that you use the Outputs
syntax for all jobs, even
* when you want Elastic Transcoder to transcode a file into only one format. Do not use both the
* Outputs
and Output
syntaxes in the same request. You can create a maximum of 30 outputs
* per job.
*
*
* If you specify more than one output for a job, Elastic Transcoder creates the files for each output in the order
* in which you specify them in the job.
*
*
* @param outputs
* Information about the output files. We recommend that you use the Outputs
syntax for all
* jobs, even when you want Elastic Transcoder to transcode a file into only one format. Do not use both the
* Outputs
and Output
syntaxes in the same request. You can create a maximum of 30
* outputs per job.
*
* If you specify more than one output for a job, Elastic Transcoder creates the files for each output in the
* order in which you specify them in the job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Job withOutputs(java.util.Collection outputs) {
setOutputs(outputs);
return this;
}
/**
*
* The value, if any, that you want Elastic Transcoder to prepend to the names of all files that this job creates,
* including output files, thumbnails, and playlists. We recommend that you add a / or some other delimiter to the
* end of the OutputKeyPrefix
.
*
*
* @param outputKeyPrefix
* The value, if any, that you want Elastic Transcoder to prepend to the names of all files that this job
* creates, including output files, thumbnails, and playlists. We recommend that you add a / or some other
* delimiter to the end of the OutputKeyPrefix
.
*/
public void setOutputKeyPrefix(String outputKeyPrefix) {
this.outputKeyPrefix = outputKeyPrefix;
}
/**
*
* The value, if any, that you want Elastic Transcoder to prepend to the names of all files that this job creates,
* including output files, thumbnails, and playlists. We recommend that you add a / or some other delimiter to the
* end of the OutputKeyPrefix
.
*
*
* @return The value, if any, that you want Elastic Transcoder to prepend to the names of all files that this job
* creates, including output files, thumbnails, and playlists. We recommend that you add a / or some other
* delimiter to the end of the OutputKeyPrefix
.
*/
public String getOutputKeyPrefix() {
return this.outputKeyPrefix;
}
/**
*
* The value, if any, that you want Elastic Transcoder to prepend to the names of all files that this job creates,
* including output files, thumbnails, and playlists. We recommend that you add a / or some other delimiter to the
* end of the OutputKeyPrefix
.
*
*
* @param outputKeyPrefix
* The value, if any, that you want Elastic Transcoder to prepend to the names of all files that this job
* creates, including output files, thumbnails, and playlists. We recommend that you add a / or some other
* delimiter to the end of the OutputKeyPrefix
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Job withOutputKeyPrefix(String outputKeyPrefix) {
setOutputKeyPrefix(outputKeyPrefix);
return this;
}
/**
*
*
* Outputs in Fragmented MP4 or MPEG-TS format only.
*
*
*
* If you specify a preset in PresetId
for which the value of Container
is fmp4
* (Fragmented MP4) or ts (MPEG-TS), Playlists
contains information about the master playlists that you
* want Elastic Transcoder to create.
*
*
* The maximum number of master playlists in a job is 30.
*
*
* @return
* Outputs in Fragmented MP4 or MPEG-TS format only.
*
*
*
* If you specify a preset in PresetId
for which the value of Container
is fmp4
* (Fragmented MP4) or ts (MPEG-TS), Playlists
contains information about the master playlists
* that you want Elastic Transcoder to create.
*
*
* The maximum number of master playlists in a job is 30.
*/
public java.util.List getPlaylists() {
if (playlists == null) {
playlists = new com.amazonaws.internal.SdkInternalList();
}
return playlists;
}
/**
*
*
* Outputs in Fragmented MP4 or MPEG-TS format only.
*
*
*
* If you specify a preset in PresetId
for which the value of Container
is fmp4
* (Fragmented MP4) or ts (MPEG-TS), Playlists
contains information about the master playlists that you
* want Elastic Transcoder to create.
*
*
* The maximum number of master playlists in a job is 30.
*
*
* @param playlists
*
* Outputs in Fragmented MP4 or MPEG-TS format only.
*
*
*
* If you specify a preset in PresetId
for which the value of Container
is fmp4
* (Fragmented MP4) or ts (MPEG-TS), Playlists
contains information about the master playlists
* that you want Elastic Transcoder to create.
*
*
* The maximum number of master playlists in a job is 30.
*/
public void setPlaylists(java.util.Collection playlists) {
if (playlists == null) {
this.playlists = null;
return;
}
this.playlists = new com.amazonaws.internal.SdkInternalList(playlists);
}
/**
*
*
* Outputs in Fragmented MP4 or MPEG-TS format only.
*
*
*
* If you specify a preset in PresetId
for which the value of Container
is fmp4
* (Fragmented MP4) or ts (MPEG-TS), Playlists
contains information about the master playlists that you
* want Elastic Transcoder to create.
*
*
* The maximum number of master playlists in a job is 30.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setPlaylists(java.util.Collection)} or {@link #withPlaylists(java.util.Collection)} if you want to
* override the existing values.
*
*
* @param playlists
*
* Outputs in Fragmented MP4 or MPEG-TS format only.
*
*
*
* If you specify a preset in PresetId
for which the value of Container
is fmp4
* (Fragmented MP4) or ts (MPEG-TS), Playlists
contains information about the master playlists
* that you want Elastic Transcoder to create.
*
*
* The maximum number of master playlists in a job is 30.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Job withPlaylists(Playlist... playlists) {
if (this.playlists == null) {
setPlaylists(new com.amazonaws.internal.SdkInternalList(playlists.length));
}
for (Playlist ele : playlists) {
this.playlists.add(ele);
}
return this;
}
/**
*
*
* Outputs in Fragmented MP4 or MPEG-TS format only.
*
*
*
* If you specify a preset in PresetId
for which the value of Container
is fmp4
* (Fragmented MP4) or ts (MPEG-TS), Playlists
contains information about the master playlists that you
* want Elastic Transcoder to create.
*
*
* The maximum number of master playlists in a job is 30.
*
*
* @param playlists
*
* Outputs in Fragmented MP4 or MPEG-TS format only.
*
*
*
* If you specify a preset in PresetId
for which the value of Container
is fmp4
* (Fragmented MP4) or ts (MPEG-TS), Playlists
contains information about the master playlists
* that you want Elastic Transcoder to create.
*
*
* The maximum number of master playlists in a job is 30.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Job withPlaylists(java.util.Collection playlists) {
setPlaylists(playlists);
return this;
}
/**
*
* The status of the job: Submitted
, Progressing
, Complete
,
* Canceled
, or Error
.
*
*
* @param status
* The status of the job: Submitted
, Progressing
, Complete
,
* Canceled
, or Error
.
*/
public void setStatus(String status) {
this.status = status;
}
/**
*
* The status of the job: Submitted
, Progressing
, Complete
,
* Canceled
, or Error
.
*
*
* @return The status of the job: Submitted
, Progressing
, Complete
,
* Canceled
, or Error
.
*/
public String getStatus() {
return this.status;
}
/**
*
* The status of the job: Submitted
, Progressing
, Complete
,
* Canceled
, or Error
.
*
*
* @param status
* The status of the job: Submitted
, Progressing
, Complete
,
* Canceled
, or Error
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Job withStatus(String status) {
setStatus(status);
return this;
}
/**
*
* User-defined metadata that you want to associate with an Elastic Transcoder job. You specify metadata in
* key/value
pairs, and you can add up to 10 key/value
pairs per job. Elastic Transcoder
* does not guarantee that key/value
pairs are returned in the same order in which you specify them.
*
*
* Metadata keys
and values
must use characters from the following list:
*
*
* -
*
* 0-9
*
*
* -
*
* A-Z
and a-z
*
*
* -
*
* Space
*
*
* -
*
* The following symbols: _.:/=+-%@
*
*
*
*
* @return User-defined metadata that you want to associate with an Elastic Transcoder job. You specify metadata in
* key/value
pairs, and you can add up to 10 key/value
pairs per job. Elastic
* Transcoder does not guarantee that key/value
pairs are returned in the same order in which
* you specify them.
*
* Metadata keys
and values
must use characters from the following list:
*
*
* -
*
* 0-9
*
*
* -
*
* A-Z
and a-z
*
*
* -
*
* Space
*
*
* -
*
* The following symbols: _.:/=+-%@
*
*
*/
public java.util.Map getUserMetadata() {
if (userMetadata == null) {
userMetadata = new com.amazonaws.internal.SdkInternalMap();
}
return userMetadata;
}
/**
*
* User-defined metadata that you want to associate with an Elastic Transcoder job. You specify metadata in
* key/value
pairs, and you can add up to 10 key/value
pairs per job. Elastic Transcoder
* does not guarantee that key/value
pairs are returned in the same order in which you specify them.
*
*
* Metadata keys
and values
must use characters from the following list:
*
*
* -
*
* 0-9
*
*
* -
*
* A-Z
and a-z
*
*
* -
*
* Space
*
*
* -
*
* The following symbols: _.:/=+-%@
*
*
*
*
* @param userMetadata
* User-defined metadata that you want to associate with an Elastic Transcoder job. You specify metadata in
* key/value
pairs, and you can add up to 10 key/value
pairs per job. Elastic
* Transcoder does not guarantee that key/value
pairs are returned in the same order in which
* you specify them.
*
* Metadata keys
and values
must use characters from the following list:
*
*
* -
*
* 0-9
*
*
* -
*
* A-Z
and a-z
*
*
* -
*
* Space
*
*
* -
*
* The following symbols: _.:/=+-%@
*
*
*/
public void setUserMetadata(java.util.Map userMetadata) {
this.userMetadata = userMetadata == null ? null : new com.amazonaws.internal.SdkInternalMap(userMetadata);
}
/**
*
* User-defined metadata that you want to associate with an Elastic Transcoder job. You specify metadata in
* key/value
pairs, and you can add up to 10 key/value
pairs per job. Elastic Transcoder
* does not guarantee that key/value
pairs are returned in the same order in which you specify them.
*
*
* Metadata keys
and values
must use characters from the following list:
*
*
* -
*
* 0-9
*
*
* -
*
* A-Z
and a-z
*
*
* -
*
* Space
*
*
* -
*
* The following symbols: _.:/=+-%@
*
*
*
*
* @param userMetadata
* User-defined metadata that you want to associate with an Elastic Transcoder job. You specify metadata in
* key/value
pairs, and you can add up to 10 key/value
pairs per job. Elastic
* Transcoder does not guarantee that key/value
pairs are returned in the same order in which
* you specify them.
*
* Metadata keys
and values
must use characters from the following list:
*
*
* -
*
* 0-9
*
*
* -
*
* A-Z
and a-z
*
*
* -
*
* Space
*
*
* -
*
* The following symbols: _.:/=+-%@
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Job withUserMetadata(java.util.Map userMetadata) {
setUserMetadata(userMetadata);
return this;
}
/**
* Add a single UserMetadata entry
*
* @see Job#withUserMetadata
* @returns a reference to this object so that method calls can be chained together.
*/
public Job addUserMetadataEntry(String key, String value) {
if (null == this.userMetadata) {
this.userMetadata = new com.amazonaws.internal.SdkInternalMap();
}
if (this.userMetadata.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.userMetadata.put(key, value);
return this;
}
/**
* Removes all the entries added into UserMetadata.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Job clearUserMetadataEntries() {
this.userMetadata = null;
return this;
}
/**
*
* Details about the timing of a job.
*
*
* @param timing
* Details about the timing of a job.
*/
public void setTiming(Timing timing) {
this.timing = timing;
}
/**
*
* Details about the timing of a job.
*
*
* @return Details about the timing of a job.
*/
public Timing getTiming() {
return this.timing;
}
/**
*
* Details about the timing of a job.
*
*
* @param timing
* Details about the timing of a job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Job withTiming(Timing timing) {
setTiming(timing);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getId() != null)
sb.append("Id: ").append(getId()).append(",");
if (getArn() != null)
sb.append("Arn: ").append(getArn()).append(",");
if (getPipelineId() != null)
sb.append("PipelineId: ").append(getPipelineId()).append(",");
if (getInput() != null)
sb.append("Input: ").append(getInput()).append(",");
if (getInputs() != null)
sb.append("Inputs: ").append(getInputs()).append(",");
if (getOutput() != null)
sb.append("Output: ").append(getOutput()).append(",");
if (getOutputs() != null)
sb.append("Outputs: ").append(getOutputs()).append(",");
if (getOutputKeyPrefix() != null)
sb.append("OutputKeyPrefix: ").append(getOutputKeyPrefix()).append(",");
if (getPlaylists() != null)
sb.append("Playlists: ").append(getPlaylists()).append(",");
if (getStatus() != null)
sb.append("Status: ").append(getStatus()).append(",");
if (getUserMetadata() != null)
sb.append("UserMetadata: ").append(getUserMetadata()).append(",");
if (getTiming() != null)
sb.append("Timing: ").append(getTiming());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof Job == false)
return false;
Job other = (Job) obj;
if (other.getId() == null ^ this.getId() == null)
return false;
if (other.getId() != null && other.getId().equals(this.getId()) == false)
return false;
if (other.getArn() == null ^ this.getArn() == null)
return false;
if (other.getArn() != null && other.getArn().equals(this.getArn()) == false)
return false;
if (other.getPipelineId() == null ^ this.getPipelineId() == null)
return false;
if (other.getPipelineId() != null && other.getPipelineId().equals(this.getPipelineId()) == false)
return false;
if (other.getInput() == null ^ this.getInput() == null)
return false;
if (other.getInput() != null && other.getInput().equals(this.getInput()) == false)
return false;
if (other.getInputs() == null ^ this.getInputs() == null)
return false;
if (other.getInputs() != null && other.getInputs().equals(this.getInputs()) == false)
return false;
if (other.getOutput() == null ^ this.getOutput() == null)
return false;
if (other.getOutput() != null && other.getOutput().equals(this.getOutput()) == false)
return false;
if (other.getOutputs() == null ^ this.getOutputs() == null)
return false;
if (other.getOutputs() != null && other.getOutputs().equals(this.getOutputs()) == false)
return false;
if (other.getOutputKeyPrefix() == null ^ this.getOutputKeyPrefix() == null)
return false;
if (other.getOutputKeyPrefix() != null && other.getOutputKeyPrefix().equals(this.getOutputKeyPrefix()) == false)
return false;
if (other.getPlaylists() == null ^ this.getPlaylists() == null)
return false;
if (other.getPlaylists() != null && other.getPlaylists().equals(this.getPlaylists()) == false)
return false;
if (other.getStatus() == null ^ this.getStatus() == null)
return false;
if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == false)
return false;
if (other.getUserMetadata() == null ^ this.getUserMetadata() == null)
return false;
if (other.getUserMetadata() != null && other.getUserMetadata().equals(this.getUserMetadata()) == false)
return false;
if (other.getTiming() == null ^ this.getTiming() == null)
return false;
if (other.getTiming() != null && other.getTiming().equals(this.getTiming()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getId() == null) ? 0 : getId().hashCode());
hashCode = prime * hashCode + ((getArn() == null) ? 0 : getArn().hashCode());
hashCode = prime * hashCode + ((getPipelineId() == null) ? 0 : getPipelineId().hashCode());
hashCode = prime * hashCode + ((getInput() == null) ? 0 : getInput().hashCode());
hashCode = prime * hashCode + ((getInputs() == null) ? 0 : getInputs().hashCode());
hashCode = prime * hashCode + ((getOutput() == null) ? 0 : getOutput().hashCode());
hashCode = prime * hashCode + ((getOutputs() == null) ? 0 : getOutputs().hashCode());
hashCode = prime * hashCode + ((getOutputKeyPrefix() == null) ? 0 : getOutputKeyPrefix().hashCode());
hashCode = prime * hashCode + ((getPlaylists() == null) ? 0 : getPlaylists().hashCode());
hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode());
hashCode = prime * hashCode + ((getUserMetadata() == null) ? 0 : getUserMetadata().hashCode());
hashCode = prime * hashCode + ((getTiming() == null) ? 0 : getTiming().hashCode());
return hashCode;
}
@Override
public Job clone() {
try {
return (Job) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.elastictranscoder.model.transform.JobMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}