
com.amazonaws.services.elastictranscoder.model.Playlist Maven / Gradle / Ivy
Show all versions of aws-java-sdk-elastictranscoder Show documentation
/*
* Copyright 2010-2016 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;
/**
*
* 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.
*
*/
public class Playlist implements Serializable, Cloneable {
/**
*
* 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.
*
*
* Note: 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.
*
*
* Note: 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.
*
* Note: 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.
*
*
* Note: 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.
*
* Note: 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.
*
*
* Note: 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.
*
* Note: 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; useful for testing and
* debugging.
*
* @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: " + getName() + ",");
if (getFormat() != null)
sb.append("Format: " + getFormat() + ",");
if (getOutputKeys() != null)
sb.append("OutputKeys: " + getOutputKeys() + ",");
if (getHlsContentProtection() != null)
sb.append("HlsContentProtection: " + getHlsContentProtection()
+ ",");
if (getPlayReadyDrm() != null)
sb.append("PlayReadyDrm: " + getPlayReadyDrm() + ",");
if (getStatus() != null)
sb.append("Status: " + getStatus() + ",");
if (getStatusDetail() != null)
sb.append("StatusDetail: " + 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);
}
}
}