com.amazonaws.services.elastictranscoder.model.Playlist 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;
/**
*
* Use Only for Fragmented MP4 or MPEG-TS Outputs. If you specify a preset 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. We recommend that you create only one master playlist per
* output format. The maximum number of master playlists in a job is 30.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class Playlist implements Serializable, Cloneable, StructuredPojo {
/**
*
* The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. If
* the name includes a /
character, the section of the name before the last /
must be
* identical for all Name
objects. If you create more than one master playlist, the values of all
* Name
objects must be unique.
*
*
*
* Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8
for
* HLSv3
and HLSv4
playlists, and .ism
and .ismc
for
* Smooth
playlists). If you include a file extension in Name
, the file name will have two
* extensions.
*
*
*/
private String name;
/**
*
* The format of the output playlist. Valid formats include HLSv3
, HLSv4
, and
* Smooth
.
*
*/
private String format;
/**
*
* For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.
*
*
* -
*
* If your output is not HLS
or does not have a segment duration set, the name of the output file is a
* concatenation of OutputKeyPrefix
and Outputs:Key
:
*
*
* OutputKeyPrefixOutputs:Key
*
*
* -
*
* If your output is HLSv3
and has a segment duration set, or is not included in a playlist, Elastic
* Transcoder creates an output playlist file with a file extension of .m3u8
, and a series of
* .ts
files that include a five-digit sequential counter beginning with 00000:
*
*
* OutputKeyPrefixOutputs:Key
.m3u8
*
*
* OutputKeyPrefixOutputs:Key
00000.ts
*
*
* -
*
* If your output is HLSv4
, has a segment duration set, and is included in an HLSv4
* playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8
. If
* the output is video, Elastic Transcoder also creates an output file with an extension of
* _iframe.m3u8
:
*
*
* OutputKeyPrefixOutputs:Key
_v4.m3u8
*
*
* OutputKeyPrefixOutputs:Key
_iframe.m3u8
*
*
* OutputKeyPrefixOutputs:Key
.ts
*
*
*
*
* Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file
* extension in Output Key, the file name will have two extensions.
*
*
* If you include more than one output in a playlist, any segment duration settings, clip settings, or caption
* settings must be the same for all outputs in the playlist. For Smooth
playlists, the
* Audio:Profile
, Video:Profile
, and Video:FrameRate
to
* Video:KeyframesMaxDist
ratio must be the same for all outputs.
*
*/
private com.amazonaws.internal.SdkInternalList outputKeys;
/**
*
* The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files
* associated with this playlist.
*
*/
private HlsContentProtection hlsContentProtection;
/**
*
* The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this
* playlist.
*
*/
private PlayReadyDrm playReadyDrm;
/**
*
* The status of the job with which the playlist is associated.
*
*/
private String status;
/**
*
* Information that further explains the status.
*
*/
private String statusDetail;
/**
*
* The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. If
* the name includes a /
character, the section of the name before the last /
must be
* identical for all Name
objects. If you create more than one master playlist, the values of all
* Name
objects must be unique.
*
*
*
* Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8
for
* HLSv3
and HLSv4
playlists, and .ism
and .ismc
for
* Smooth
playlists). If you include a file extension in Name
, the file name will have two
* extensions.
*
*
*
* @param name
* The name that you want Elastic Transcoder to assign to the master playlist, for example,
* nyc-vacation.m3u8. If the name includes a /
character, the section of the name before the
* last /
must be identical for all Name
objects. If you create more than one
* master playlist, the values of all Name
objects must be unique.
*
* Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8
* for HLSv3
and HLSv4
playlists, and .ism
and .ismc
for
* Smooth
playlists). If you include a file extension in Name
, the file name will
* have two extensions.
*
*/
public void setName(String name) {
this.name = name;
}
/**
*
* The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. If
* the name includes a /
character, the section of the name before the last /
must be
* identical for all Name
objects. If you create more than one master playlist, the values of all
* Name
objects must be unique.
*
*
*
* Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8
for
* HLSv3
and HLSv4
playlists, and .ism
and .ismc
for
* Smooth
playlists). If you include a file extension in Name
, the file name will have two
* extensions.
*
*
*
* @return The name that you want Elastic Transcoder to assign to the master playlist, for example,
* nyc-vacation.m3u8. If the name includes a /
character, the section of the name before the
* last /
must be identical for all Name
objects. If you create more than one
* master playlist, the values of all Name
objects must be unique.
*
* Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8
* for HLSv3
and HLSv4
playlists, and .ism
and .ismc
for
* Smooth
playlists). If you include a file extension in Name
, the file name will
* have two extensions.
*
*/
public String getName() {
return this.name;
}
/**
*
* The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. If
* the name includes a /
character, the section of the name before the last /
must be
* identical for all Name
objects. If you create more than one master playlist, the values of all
* Name
objects must be unique.
*
*
*
* Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8
for
* HLSv3
and HLSv4
playlists, and .ism
and .ismc
for
* Smooth
playlists). If you include a file extension in Name
, the file name will have two
* extensions.
*
*
*
* @param name
* The name that you want Elastic Transcoder to assign to the master playlist, for example,
* nyc-vacation.m3u8. If the name includes a /
character, the section of the name before the
* last /
must be identical for all Name
objects. If you create more than one
* master playlist, the values of all Name
objects must be unique.
*
* Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8
* for HLSv3
and HLSv4
playlists, and .ism
and .ismc
for
* Smooth
playlists). If you include a file extension in Name
, the file name will
* have two extensions.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Playlist withName(String name) {
setName(name);
return this;
}
/**
*
* The format of the output playlist. Valid formats include HLSv3
, HLSv4
, and
* Smooth
.
*
*
* @param format
* The format of the output playlist. Valid formats include HLSv3
, HLSv4
, and
* Smooth
.
*/
public void setFormat(String format) {
this.format = format;
}
/**
*
* The format of the output playlist. Valid formats include HLSv3
, HLSv4
, and
* Smooth
.
*
*
* @return The format of the output playlist. Valid formats include HLSv3
, HLSv4
, and
* Smooth
.
*/
public String getFormat() {
return this.format;
}
/**
*
* The format of the output playlist. Valid formats include HLSv3
, HLSv4
, and
* Smooth
.
*
*
* @param format
* The format of the output playlist. Valid formats include HLSv3
, HLSv4
, and
* Smooth
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Playlist withFormat(String format) {
setFormat(format);
return this;
}
/**
*
* For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.
*
*
* -
*
* If your output is not HLS
or does not have a segment duration set, the name of the output file is a
* concatenation of OutputKeyPrefix
and Outputs:Key
:
*
*
* OutputKeyPrefixOutputs:Key
*
*
* -
*
* If your output is HLSv3
and has a segment duration set, or is not included in a playlist, Elastic
* Transcoder creates an output playlist file with a file extension of .m3u8
, and a series of
* .ts
files that include a five-digit sequential counter beginning with 00000:
*
*
* OutputKeyPrefixOutputs:Key
.m3u8
*
*
* OutputKeyPrefixOutputs:Key
00000.ts
*
*
* -
*
* If your output is HLSv4
, has a segment duration set, and is included in an HLSv4
* playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8
. If
* the output is video, Elastic Transcoder also creates an output file with an extension of
* _iframe.m3u8
:
*
*
* OutputKeyPrefixOutputs:Key
_v4.m3u8
*
*
* OutputKeyPrefixOutputs:Key
_iframe.m3u8
*
*
* OutputKeyPrefixOutputs:Key
.ts
*
*
*
*
* Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file
* extension in Output Key, the file name will have two extensions.
*
*
* If you include more than one output in a playlist, any segment duration settings, clip settings, or caption
* settings must be the same for all outputs in the playlist. For Smooth
playlists, the
* Audio:Profile
, Video:Profile
, and Video:FrameRate
to
* Video:KeyframesMaxDist
ratio must be the same for all outputs.
*
*
* @return For each output in this job that you want to include in a master playlist, the value of the Outputs:Key
* object.
*
* -
*
* If your output is not HLS
or does not have a segment duration set, the name of the output
* file is a concatenation of OutputKeyPrefix
and Outputs:Key
:
*
*
* OutputKeyPrefixOutputs:Key
*
*
* -
*
* If your output is HLSv3
and has a segment duration set, or is not included in a playlist,
* Elastic Transcoder creates an output playlist file with a file extension of .m3u8
, and a
* series of .ts
files that include a five-digit sequential counter beginning with 00000:
*
*
* OutputKeyPrefixOutputs:Key
.m3u8
*
*
* OutputKeyPrefixOutputs:Key
00000.ts
*
*
* -
*
* If your output is HLSv4
, has a segment duration set, and is included in an
* HLSv4
playlist, Elastic Transcoder creates an output playlist file with a file extension of
* _v4.m3u8
. If the output is video, Elastic Transcoder also creates an output file with an
* extension of _iframe.m3u8
:
*
*
* OutputKeyPrefixOutputs:Key
_v4.m3u8
*
*
* OutputKeyPrefixOutputs:Key
_iframe.m3u8
*
*
* OutputKeyPrefixOutputs:Key
.ts
*
*
*
*
* Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a
* file extension in Output Key, the file name will have two extensions.
*
*
* If you include more than one output in a playlist, any segment duration settings, clip settings, or
* caption settings must be the same for all outputs in the playlist. For Smooth
playlists, the
* Audio:Profile
, Video:Profile
, and Video:FrameRate
to
* Video:KeyframesMaxDist
ratio must be the same for all outputs.
*/
public java.util.List getOutputKeys() {
if (outputKeys == null) {
outputKeys = new com.amazonaws.internal.SdkInternalList();
}
return outputKeys;
}
/**
*
* For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.
*
*
* -
*
* If your output is not HLS
or does not have a segment duration set, the name of the output file is a
* concatenation of OutputKeyPrefix
and Outputs:Key
:
*
*
* OutputKeyPrefixOutputs:Key
*
*
* -
*
* If your output is HLSv3
and has a segment duration set, or is not included in a playlist, Elastic
* Transcoder creates an output playlist file with a file extension of .m3u8
, and a series of
* .ts
files that include a five-digit sequential counter beginning with 00000:
*
*
* OutputKeyPrefixOutputs:Key
.m3u8
*
*
* OutputKeyPrefixOutputs:Key
00000.ts
*
*
* -
*
* If your output is HLSv4
, has a segment duration set, and is included in an HLSv4
* playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8
. If
* the output is video, Elastic Transcoder also creates an output file with an extension of
* _iframe.m3u8
:
*
*
* OutputKeyPrefixOutputs:Key
_v4.m3u8
*
*
* OutputKeyPrefixOutputs:Key
_iframe.m3u8
*
*
* OutputKeyPrefixOutputs:Key
.ts
*
*
*
*
* Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file
* extension in Output Key, the file name will have two extensions.
*
*
* If you include more than one output in a playlist, any segment duration settings, clip settings, or caption
* settings must be the same for all outputs in the playlist. For Smooth
playlists, the
* Audio:Profile
, Video:Profile
, and Video:FrameRate
to
* Video:KeyframesMaxDist
ratio must be the same for all outputs.
*
*
* @param outputKeys
* For each output in this job that you want to include in a master playlist, the value of the Outputs:Key
* object.
*
* -
*
* If your output is not HLS
or does not have a segment duration set, the name of the output
* file is a concatenation of OutputKeyPrefix
and Outputs:Key
:
*
*
* OutputKeyPrefixOutputs:Key
*
*
* -
*
* If your output is HLSv3
and has a segment duration set, or is not included in a playlist,
* Elastic Transcoder creates an output playlist file with a file extension of .m3u8
, and a
* series of .ts
files that include a five-digit sequential counter beginning with 00000:
*
*
* OutputKeyPrefixOutputs:Key
.m3u8
*
*
* OutputKeyPrefixOutputs:Key
00000.ts
*
*
* -
*
* If your output is HLSv4
, has a segment duration set, and is included in an HLSv4
* playlist, Elastic Transcoder creates an output playlist file with a file extension of
* _v4.m3u8
. If the output is video, Elastic Transcoder also creates an output file with an
* extension of _iframe.m3u8
:
*
*
* OutputKeyPrefixOutputs:Key
_v4.m3u8
*
*
* OutputKeyPrefixOutputs:Key
_iframe.m3u8
*
*
* OutputKeyPrefixOutputs:Key
.ts
*
*
*
*
* Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a
* file extension in Output Key, the file name will have two extensions.
*
*
* If you include more than one output in a playlist, any segment duration settings, clip settings, or
* caption settings must be the same for all outputs in the playlist. For Smooth
playlists, the
* Audio:Profile
, Video:Profile
, and Video:FrameRate
to
* Video:KeyframesMaxDist
ratio must be the same for all outputs.
*/
public void setOutputKeys(java.util.Collection outputKeys) {
if (outputKeys == null) {
this.outputKeys = null;
return;
}
this.outputKeys = new com.amazonaws.internal.SdkInternalList(outputKeys);
}
/**
*
* For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.
*
*
* -
*
* If your output is not HLS
or does not have a segment duration set, the name of the output file is a
* concatenation of OutputKeyPrefix
and Outputs:Key
:
*
*
* OutputKeyPrefixOutputs:Key
*
*
* -
*
* If your output is HLSv3
and has a segment duration set, or is not included in a playlist, Elastic
* Transcoder creates an output playlist file with a file extension of .m3u8
, and a series of
* .ts
files that include a five-digit sequential counter beginning with 00000:
*
*
* OutputKeyPrefixOutputs:Key
.m3u8
*
*
* OutputKeyPrefixOutputs:Key
00000.ts
*
*
* -
*
* If your output is HLSv4
, has a segment duration set, and is included in an HLSv4
* playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8
. If
* the output is video, Elastic Transcoder also creates an output file with an extension of
* _iframe.m3u8
:
*
*
* OutputKeyPrefixOutputs:Key
_v4.m3u8
*
*
* OutputKeyPrefixOutputs:Key
_iframe.m3u8
*
*
* OutputKeyPrefixOutputs:Key
.ts
*
*
*
*
* Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file
* extension in Output Key, the file name will have two extensions.
*
*
* If you include more than one output in a playlist, any segment duration settings, clip settings, or caption
* settings must be the same for all outputs in the playlist. For Smooth
playlists, the
* Audio:Profile
, Video:Profile
, and Video:FrameRate
to
* Video:KeyframesMaxDist
ratio must be the same for all outputs.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setOutputKeys(java.util.Collection)} or {@link #withOutputKeys(java.util.Collection)} if you want to
* override the existing values.
*
*
* @param outputKeys
* For each output in this job that you want to include in a master playlist, the value of the Outputs:Key
* object.
*
* -
*
* If your output is not HLS
or does not have a segment duration set, the name of the output
* file is a concatenation of OutputKeyPrefix
and Outputs:Key
:
*
*
* OutputKeyPrefixOutputs:Key
*
*
* -
*
* If your output is HLSv3
and has a segment duration set, or is not included in a playlist,
* Elastic Transcoder creates an output playlist file with a file extension of .m3u8
, and a
* series of .ts
files that include a five-digit sequential counter beginning with 00000:
*
*
* OutputKeyPrefixOutputs:Key
.m3u8
*
*
* OutputKeyPrefixOutputs:Key
00000.ts
*
*
* -
*
* If your output is HLSv4
, has a segment duration set, and is included in an HLSv4
* playlist, Elastic Transcoder creates an output playlist file with a file extension of
* _v4.m3u8
. If the output is video, Elastic Transcoder also creates an output file with an
* extension of _iframe.m3u8
:
*
*
* OutputKeyPrefixOutputs:Key
_v4.m3u8
*
*
* OutputKeyPrefixOutputs:Key
_iframe.m3u8
*
*
* OutputKeyPrefixOutputs:Key
.ts
*
*
*
*
* Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a
* file extension in Output Key, the file name will have two extensions.
*
*
* If you include more than one output in a playlist, any segment duration settings, clip settings, or
* caption settings must be the same for all outputs in the playlist. For Smooth
playlists, the
* Audio:Profile
, Video:Profile
, and Video:FrameRate
to
* Video:KeyframesMaxDist
ratio must be the same for all outputs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Playlist withOutputKeys(String... outputKeys) {
if (this.outputKeys == null) {
setOutputKeys(new com.amazonaws.internal.SdkInternalList(outputKeys.length));
}
for (String ele : outputKeys) {
this.outputKeys.add(ele);
}
return this;
}
/**
*
* For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.
*
*
* -
*
* If your output is not HLS
or does not have a segment duration set, the name of the output file is a
* concatenation of OutputKeyPrefix
and Outputs:Key
:
*
*
* OutputKeyPrefixOutputs:Key
*
*
* -
*
* If your output is HLSv3
and has a segment duration set, or is not included in a playlist, Elastic
* Transcoder creates an output playlist file with a file extension of .m3u8
, and a series of
* .ts
files that include a five-digit sequential counter beginning with 00000:
*
*
* OutputKeyPrefixOutputs:Key
.m3u8
*
*
* OutputKeyPrefixOutputs:Key
00000.ts
*
*
* -
*
* If your output is HLSv4
, has a segment duration set, and is included in an HLSv4
* playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8
. If
* the output is video, Elastic Transcoder also creates an output file with an extension of
* _iframe.m3u8
:
*
*
* OutputKeyPrefixOutputs:Key
_v4.m3u8
*
*
* OutputKeyPrefixOutputs:Key
_iframe.m3u8
*
*
* OutputKeyPrefixOutputs:Key
.ts
*
*
*
*
* Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file
* extension in Output Key, the file name will have two extensions.
*
*
* If you include more than one output in a playlist, any segment duration settings, clip settings, or caption
* settings must be the same for all outputs in the playlist. For Smooth
playlists, the
* Audio:Profile
, Video:Profile
, and Video:FrameRate
to
* Video:KeyframesMaxDist
ratio must be the same for all outputs.
*
*
* @param outputKeys
* For each output in this job that you want to include in a master playlist, the value of the Outputs:Key
* object.
*
* -
*
* If your output is not HLS
or does not have a segment duration set, the name of the output
* file is a concatenation of OutputKeyPrefix
and Outputs:Key
:
*
*
* OutputKeyPrefixOutputs:Key
*
*
* -
*
* If your output is HLSv3
and has a segment duration set, or is not included in a playlist,
* Elastic Transcoder creates an output playlist file with a file extension of .m3u8
, and a
* series of .ts
files that include a five-digit sequential counter beginning with 00000:
*
*
* OutputKeyPrefixOutputs:Key
.m3u8
*
*
* OutputKeyPrefixOutputs:Key
00000.ts
*
*
* -
*
* If your output is HLSv4
, has a segment duration set, and is included in an HLSv4
* playlist, Elastic Transcoder creates an output playlist file with a file extension of
* _v4.m3u8
. If the output is video, Elastic Transcoder also creates an output file with an
* extension of _iframe.m3u8
:
*
*
* OutputKeyPrefixOutputs:Key
_v4.m3u8
*
*
* OutputKeyPrefixOutputs:Key
_iframe.m3u8
*
*
* OutputKeyPrefixOutputs:Key
.ts
*
*
*
*
* Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a
* file extension in Output Key, the file name will have two extensions.
*
*
* If you include more than one output in a playlist, any segment duration settings, clip settings, or
* caption settings must be the same for all outputs in the playlist. For Smooth
playlists, the
* Audio:Profile
, Video:Profile
, and Video:FrameRate
to
* Video:KeyframesMaxDist
ratio must be the same for all outputs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Playlist withOutputKeys(java.util.Collection outputKeys) {
setOutputKeys(outputKeys);
return this;
}
/**
*
* The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files
* associated with this playlist.
*
*
* @param hlsContentProtection
* The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files
* associated with this playlist.
*/
public void setHlsContentProtection(HlsContentProtection hlsContentProtection) {
this.hlsContentProtection = hlsContentProtection;
}
/**
*
* The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files
* associated with this playlist.
*
*
* @return The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output
* files associated with this playlist.
*/
public HlsContentProtection getHlsContentProtection() {
return this.hlsContentProtection;
}
/**
*
* The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files
* associated with this playlist.
*
*
* @param hlsContentProtection
* The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files
* associated with this playlist.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Playlist withHlsContentProtection(HlsContentProtection hlsContentProtection) {
setHlsContentProtection(hlsContentProtection);
return this;
}
/**
*
* The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this
* playlist.
*
*
* @param playReadyDrm
* The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with
* this playlist.
*/
public void setPlayReadyDrm(PlayReadyDrm playReadyDrm) {
this.playReadyDrm = playReadyDrm;
}
/**
*
* The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this
* playlist.
*
*
* @return The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with
* this playlist.
*/
public PlayReadyDrm getPlayReadyDrm() {
return this.playReadyDrm;
}
/**
*
* The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this
* playlist.
*
*
* @param playReadyDrm
* The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with
* this playlist.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Playlist withPlayReadyDrm(PlayReadyDrm playReadyDrm) {
setPlayReadyDrm(playReadyDrm);
return this;
}
/**
*
* The status of the job with which the playlist is associated.
*
*
* @param status
* The status of the job with which the playlist is associated.
*/
public void setStatus(String status) {
this.status = status;
}
/**
*
* The status of the job with which the playlist is associated.
*
*
* @return The status of the job with which the playlist is associated.
*/
public String getStatus() {
return this.status;
}
/**
*
* The status of the job with which the playlist is associated.
*
*
* @param status
* The status of the job with which the playlist is associated.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Playlist withStatus(String status) {
setStatus(status);
return this;
}
/**
*
* Information that further explains the status.
*
*
* @param statusDetail
* Information that further explains the status.
*/
public void setStatusDetail(String statusDetail) {
this.statusDetail = statusDetail;
}
/**
*
* Information that further explains the status.
*
*
* @return Information that further explains the status.
*/
public String getStatusDetail() {
return this.statusDetail;
}
/**
*
* Information that further explains the status.
*
*
* @param statusDetail
* Information that further explains the status.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Playlist withStatusDetail(String statusDetail) {
setStatusDetail(statusDetail);
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 (getName() != null)
sb.append("Name: ").append(getName()).append(",");
if (getFormat() != null)
sb.append("Format: ").append(getFormat()).append(",");
if (getOutputKeys() != null)
sb.append("OutputKeys: ").append(getOutputKeys()).append(",");
if (getHlsContentProtection() != null)
sb.append("HlsContentProtection: ").append(getHlsContentProtection()).append(",");
if (getPlayReadyDrm() != null)
sb.append("PlayReadyDrm: ").append(getPlayReadyDrm()).append(",");
if (getStatus() != null)
sb.append("Status: ").append(getStatus()).append(",");
if (getStatusDetail() != null)
sb.append("StatusDetail: ").append(getStatusDetail());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof Playlist == false)
return false;
Playlist other = (Playlist) obj;
if (other.getName() == null ^ this.getName() == null)
return false;
if (other.getName() != null && other.getName().equals(this.getName()) == false)
return false;
if (other.getFormat() == null ^ this.getFormat() == null)
return false;
if (other.getFormat() != null && other.getFormat().equals(this.getFormat()) == false)
return false;
if (other.getOutputKeys() == null ^ this.getOutputKeys() == null)
return false;
if (other.getOutputKeys() != null && other.getOutputKeys().equals(this.getOutputKeys()) == false)
return false;
if (other.getHlsContentProtection() == null ^ this.getHlsContentProtection() == null)
return false;
if (other.getHlsContentProtection() != null && other.getHlsContentProtection().equals(this.getHlsContentProtection()) == false)
return false;
if (other.getPlayReadyDrm() == null ^ this.getPlayReadyDrm() == null)
return false;
if (other.getPlayReadyDrm() != null && other.getPlayReadyDrm().equals(this.getPlayReadyDrm()) == 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.getStatusDetail() == null ^ this.getStatusDetail() == null)
return false;
if (other.getStatusDetail() != null && other.getStatusDetail().equals(this.getStatusDetail()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode());
hashCode = prime * hashCode + ((getFormat() == null) ? 0 : getFormat().hashCode());
hashCode = prime * hashCode + ((getOutputKeys() == null) ? 0 : getOutputKeys().hashCode());
hashCode = prime * hashCode + ((getHlsContentProtection() == null) ? 0 : getHlsContentProtection().hashCode());
hashCode = prime * hashCode + ((getPlayReadyDrm() == null) ? 0 : getPlayReadyDrm().hashCode());
hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode());
hashCode = prime * hashCode + ((getStatusDetail() == null) ? 0 : getStatusDetail().hashCode());
return hashCode;
}
@Override
public Playlist clone() {
try {
return (Playlist) 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.PlaylistMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}