/* * Copyright 2018-2023 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; /** *
* The file to be used as album art. There can be multiple artworks associated with an audio file, to a maximum of 20. *
*
* To remove artwork or leave the artwork empty, you can either set Artwork
to null, or set the
* Merge Policy
to "Replace" and use an empty Artwork
array.
*
* To pass through existing artwork unchanged, set the Merge Policy
to "Prepend", "Append", or "Fallback",
* and use an empty Artwork
array.
*
* The name of the file to be used as album art. To determine which Amazon S3 bucket contains the specified file,
* Elastic Transcoder checks the pipeline specified by PipelineId
; the InputBucket
object
* in that pipeline identifies the bucket.
*
* If the file name includes a prefix, for example, cooking/pie.jpg
, include the prefix in the key. If
* the file isn't in the specified bucket, Elastic Transcoder returns an error.
*
* The maximum width of the output album art in pixels. If you specify auto
, Elastic Transcoder uses
* 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 4096, inclusive.
*
* The maximum height of the output album art in pixels. If you specify auto
, Elastic Transcoder uses
* 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 3072, inclusive.
*
* Specify one of the following values to control scaling of the output album art: *
*
* Fit:
Elastic Transcoder scales the output art so it matches the value that you specified in either
* MaxWidth
or MaxHeight
without exceeding the other value.
*
* Fill:
Elastic Transcoder scales the output art so it matches the value that you specified in either
* MaxWidth
or MaxHeight
and matches or exceeds the other value. Elastic Transcoder
* centers the output art and then crops it in the dimension (if any) that exceeds the maximum value.
*
* Stretch:
Elastic Transcoder stretches the output art to match the values that you specified for
* MaxWidth
and MaxHeight
. If the relative proportions of the input art and the output art
* are different, the output art will be distorted.
*
* Keep:
Elastic Transcoder does not scale the output art. If either dimension of the input art exceeds
* the values that you specified for MaxWidth
and MaxHeight
, Elastic Transcoder crops the
* output art.
*
* ShrinkToFit:
Elastic Transcoder scales the output art down so that its dimensions match the values
* that you specified for at least one of MaxWidth
and MaxHeight
without exceeding either
* value. If you specify this option, Elastic Transcoder does not scale the art up.
*
* ShrinkToFill
Elastic Transcoder scales the output art down so that its dimensions match the values
* that you specified for at least one of MaxWidth
and MaxHeight
without dropping below
* either value. If you specify this option, Elastic Transcoder does not scale the art up.
*
* When you set PaddingPolicy
to Pad
, Elastic Transcoder may add white bars to the top and
* bottom and/or left and right sides of the output album art to make the total size of the output art match the
* values that you specified for MaxWidth
and MaxHeight
.
*
* The format of album art, if any. Valid formats are .jpg
and .png
.
*
* The encryption settings, if any, that you want Elastic Transcoder to apply to your artwork. *
*/ private Encryption encryption; /** *
* The name of the file to be used as album art. To determine which Amazon S3 bucket contains the specified file,
* Elastic Transcoder checks the pipeline specified by PipelineId
; the InputBucket
object
* in that pipeline identifies the bucket.
*
* If the file name includes a prefix, for example, cooking/pie.jpg
, include the prefix in the key. If
* the file isn't in the specified bucket, Elastic Transcoder returns an error.
*
PipelineId
; the
* InputBucket
object in that pipeline identifies the bucket.
*
* If the file name includes a prefix, for example, cooking/pie.jpg
, include the prefix in the
* key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.
*/
public void setInputKey(String inputKey) {
this.inputKey = inputKey;
}
/**
*
* The name of the file to be used as album art. To determine which Amazon S3 bucket contains the specified file,
* Elastic Transcoder checks the pipeline specified by PipelineId
; the InputBucket
object
* in that pipeline identifies the bucket.
*
* If the file name includes a prefix, for example, cooking/pie.jpg
, include the prefix in the key. If
* the file isn't in the specified bucket, Elastic Transcoder returns an error.
*
PipelineId
; the
* InputBucket
object in that pipeline identifies the bucket.
*
* If the file name includes a prefix, for example, cooking/pie.jpg
, include the prefix in the
* key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.
*/
public String getInputKey() {
return this.inputKey;
}
/**
*
* The name of the file to be used as album art. To determine which Amazon S3 bucket contains the specified file,
* Elastic Transcoder checks the pipeline specified by PipelineId
; the InputBucket
object
* in that pipeline identifies the bucket.
*
* If the file name includes a prefix, for example, cooking/pie.jpg
, include the prefix in the key. If
* the file isn't in the specified bucket, Elastic Transcoder returns an error.
*
PipelineId
; the
* InputBucket
object in that pipeline identifies the bucket.
*
* If the file name includes a prefix, for example, cooking/pie.jpg
, include the prefix in the
* key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Artwork withInputKey(String inputKey) {
setInputKey(inputKey);
return this;
}
/**
*
* The maximum width of the output album art in pixels. If you specify auto
, Elastic Transcoder uses
* 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 4096, inclusive.
*
auto
, Elastic Transcoder
* uses 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 4096,
* inclusive.
*/
public void setMaxWidth(String maxWidth) {
this.maxWidth = maxWidth;
}
/**
*
* The maximum width of the output album art in pixels. If you specify auto
, Elastic Transcoder uses
* 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 4096, inclusive.
*
auto
, Elastic Transcoder
* uses 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 4096,
* inclusive.
*/
public String getMaxWidth() {
return this.maxWidth;
}
/**
*
* The maximum width of the output album art in pixels. If you specify auto
, Elastic Transcoder uses
* 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 4096, inclusive.
*
auto
, Elastic Transcoder
* uses 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 4096,
* inclusive.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Artwork withMaxWidth(String maxWidth) {
setMaxWidth(maxWidth);
return this;
}
/**
*
* The maximum height of the output album art in pixels. If you specify auto
, Elastic Transcoder uses
* 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 3072, inclusive.
*
auto
, Elastic Transcoder
* uses 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 3072,
* inclusive.
*/
public void setMaxHeight(String maxHeight) {
this.maxHeight = maxHeight;
}
/**
*
* The maximum height of the output album art in pixels. If you specify auto
, Elastic Transcoder uses
* 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 3072, inclusive.
*
auto
, Elastic
* Transcoder uses 600 as the default value. If you specify a numeric value, enter an even integer between
* 32 and 3072, inclusive.
*/
public String getMaxHeight() {
return this.maxHeight;
}
/**
*
* The maximum height of the output album art in pixels. If you specify auto
, Elastic Transcoder uses
* 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 3072, inclusive.
*
auto
, Elastic Transcoder
* uses 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 3072,
* inclusive.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Artwork withMaxHeight(String maxHeight) {
setMaxHeight(maxHeight);
return this;
}
/**
* * Specify one of the following values to control scaling of the output album art: *
*
* Fit:
Elastic Transcoder scales the output art so it matches the value that you specified in either
* MaxWidth
or MaxHeight
without exceeding the other value.
*
* Fill:
Elastic Transcoder scales the output art so it matches the value that you specified in either
* MaxWidth
or MaxHeight
and matches or exceeds the other value. Elastic Transcoder
* centers the output art and then crops it in the dimension (if any) that exceeds the maximum value.
*
* Stretch:
Elastic Transcoder stretches the output art to match the values that you specified for
* MaxWidth
and MaxHeight
. If the relative proportions of the input art and the output art
* are different, the output art will be distorted.
*
* Keep:
Elastic Transcoder does not scale the output art. If either dimension of the input art exceeds
* the values that you specified for MaxWidth
and MaxHeight
, Elastic Transcoder crops the
* output art.
*
* ShrinkToFit:
Elastic Transcoder scales the output art down so that its dimensions match the values
* that you specified for at least one of MaxWidth
and MaxHeight
without exceeding either
* value. If you specify this option, Elastic Transcoder does not scale the art up.
*
* ShrinkToFill
Elastic Transcoder scales the output art down so that its dimensions match the values
* that you specified for at least one of MaxWidth
and MaxHeight
without dropping below
* either value. If you specify this option, Elastic Transcoder does not scale the art up.
*
* Fit:
Elastic Transcoder scales the output art so it matches the value that you specified in
* either MaxWidth
or MaxHeight
without exceeding the other value.
*
* Fill:
Elastic Transcoder scales the output art so it matches the value that you specified in
* either MaxWidth
or MaxHeight
and matches or exceeds the other value. Elastic
* Transcoder centers the output art and then crops it in the dimension (if any) that exceeds the maximum
* value.
*
* Stretch:
Elastic Transcoder stretches the output art to match the values that you specified
* for MaxWidth
and MaxHeight
. If the relative proportions of the input art and the
* output art are different, the output art will be distorted.
*
* Keep:
Elastic Transcoder does not scale the output art. If either dimension of the input art
* exceeds the values that you specified for MaxWidth
and MaxHeight
, Elastic
* Transcoder crops the output art.
*
* ShrinkToFit:
Elastic Transcoder scales the output art down so that its dimensions match the
* values that you specified for at least one of MaxWidth
and MaxHeight
without
* exceeding either value. If you specify this option, Elastic Transcoder does not scale the art up.
*
* ShrinkToFill
Elastic Transcoder scales the output art down so that its dimensions match the
* values that you specified for at least one of MaxWidth
and MaxHeight
without
* dropping below either value. If you specify this option, Elastic Transcoder does not scale the art up.
*
* Specify one of the following values to control scaling of the output album art: *
*
* Fit:
Elastic Transcoder scales the output art so it matches the value that you specified in either
* MaxWidth
or MaxHeight
without exceeding the other value.
*
* Fill:
Elastic Transcoder scales the output art so it matches the value that you specified in either
* MaxWidth
or MaxHeight
and matches or exceeds the other value. Elastic Transcoder
* centers the output art and then crops it in the dimension (if any) that exceeds the maximum value.
*
* Stretch:
Elastic Transcoder stretches the output art to match the values that you specified for
* MaxWidth
and MaxHeight
. If the relative proportions of the input art and the output art
* are different, the output art will be distorted.
*
* Keep:
Elastic Transcoder does not scale the output art. If either dimension of the input art exceeds
* the values that you specified for MaxWidth
and MaxHeight
, Elastic Transcoder crops the
* output art.
*
* ShrinkToFit:
Elastic Transcoder scales the output art down so that its dimensions match the values
* that you specified for at least one of MaxWidth
and MaxHeight
without exceeding either
* value. If you specify this option, Elastic Transcoder does not scale the art up.
*
* ShrinkToFill
Elastic Transcoder scales the output art down so that its dimensions match the values
* that you specified for at least one of MaxWidth
and MaxHeight
without dropping below
* either value. If you specify this option, Elastic Transcoder does not scale the art up.
*
* Fit:
Elastic Transcoder scales the output art so it matches the value that you specified in
* either MaxWidth
or MaxHeight
without exceeding the other value.
*
* Fill:
Elastic Transcoder scales the output art so it matches the value that you specified in
* either MaxWidth
or MaxHeight
and matches or exceeds the other value. Elastic
* Transcoder centers the output art and then crops it in the dimension (if any) that exceeds the maximum
* value.
*
* Stretch:
Elastic Transcoder stretches the output art to match the values that you specified
* for MaxWidth
and MaxHeight
. If the relative proportions of the input art and
* the output art are different, the output art will be distorted.
*
* Keep:
Elastic Transcoder does not scale the output art. If either dimension of the input art
* exceeds the values that you specified for MaxWidth
and MaxHeight
, Elastic
* Transcoder crops the output art.
*
* ShrinkToFit:
Elastic Transcoder scales the output art down so that its dimensions match the
* values that you specified for at least one of MaxWidth
and MaxHeight
without
* exceeding either value. If you specify this option, Elastic Transcoder does not scale the art up.
*
* ShrinkToFill
Elastic Transcoder scales the output art down so that its dimensions match the
* values that you specified for at least one of MaxWidth
and MaxHeight
without
* dropping below either value. If you specify this option, Elastic Transcoder does not scale the art up.
*
* Specify one of the following values to control scaling of the output album art: *
*
* Fit:
Elastic Transcoder scales the output art so it matches the value that you specified in either
* MaxWidth
or MaxHeight
without exceeding the other value.
*
* Fill:
Elastic Transcoder scales the output art so it matches the value that you specified in either
* MaxWidth
or MaxHeight
and matches or exceeds the other value. Elastic Transcoder
* centers the output art and then crops it in the dimension (if any) that exceeds the maximum value.
*
* Stretch:
Elastic Transcoder stretches the output art to match the values that you specified for
* MaxWidth
and MaxHeight
. If the relative proportions of the input art and the output art
* are different, the output art will be distorted.
*
* Keep:
Elastic Transcoder does not scale the output art. If either dimension of the input art exceeds
* the values that you specified for MaxWidth
and MaxHeight
, Elastic Transcoder crops the
* output art.
*
* ShrinkToFit:
Elastic Transcoder scales the output art down so that its dimensions match the values
* that you specified for at least one of MaxWidth
and MaxHeight
without exceeding either
* value. If you specify this option, Elastic Transcoder does not scale the art up.
*
* ShrinkToFill
Elastic Transcoder scales the output art down so that its dimensions match the values
* that you specified for at least one of MaxWidth
and MaxHeight
without dropping below
* either value. If you specify this option, Elastic Transcoder does not scale the art up.
*
* Fit:
Elastic Transcoder scales the output art so it matches the value that you specified in
* either MaxWidth
or MaxHeight
without exceeding the other value.
*
* Fill:
Elastic Transcoder scales the output art so it matches the value that you specified in
* either MaxWidth
or MaxHeight
and matches or exceeds the other value. Elastic
* Transcoder centers the output art and then crops it in the dimension (if any) that exceeds the maximum
* value.
*
* Stretch:
Elastic Transcoder stretches the output art to match the values that you specified
* for MaxWidth
and MaxHeight
. If the relative proportions of the input art and the
* output art are different, the output art will be distorted.
*
* Keep:
Elastic Transcoder does not scale the output art. If either dimension of the input art
* exceeds the values that you specified for MaxWidth
and MaxHeight
, Elastic
* Transcoder crops the output art.
*
* ShrinkToFit:
Elastic Transcoder scales the output art down so that its dimensions match the
* values that you specified for at least one of MaxWidth
and MaxHeight
without
* exceeding either value. If you specify this option, Elastic Transcoder does not scale the art up.
*
* ShrinkToFill
Elastic Transcoder scales the output art down so that its dimensions match the
* values that you specified for at least one of MaxWidth
and MaxHeight
without
* dropping below either value. If you specify this option, Elastic Transcoder does not scale the art up.
*
* When you set PaddingPolicy
to Pad
, Elastic Transcoder may add white bars to the top and
* bottom and/or left and right sides of the output album art to make the total size of the output art match the
* values that you specified for MaxWidth
and MaxHeight
.
*
PaddingPolicy
to Pad
, Elastic Transcoder may add white bars to the
* top and bottom and/or left and right sides of the output album art to make the total size of the output
* art match the values that you specified for MaxWidth
and MaxHeight
.
*/
public void setPaddingPolicy(String paddingPolicy) {
this.paddingPolicy = paddingPolicy;
}
/**
*
* When you set PaddingPolicy
to Pad
, Elastic Transcoder may add white bars to the top and
* bottom and/or left and right sides of the output album art to make the total size of the output art match the
* values that you specified for MaxWidth
and MaxHeight
.
*
PaddingPolicy
to Pad
, Elastic Transcoder may add white bars to the
* top and bottom and/or left and right sides of the output album art to make the total size of the output
* art match the values that you specified for MaxWidth
and MaxHeight
.
*/
public String getPaddingPolicy() {
return this.paddingPolicy;
}
/**
*
* When you set PaddingPolicy
to Pad
, Elastic Transcoder may add white bars to the top and
* bottom and/or left and right sides of the output album art to make the total size of the output art match the
* values that you specified for MaxWidth
and MaxHeight
.
*
PaddingPolicy
to Pad
, Elastic Transcoder may add white bars to the
* top and bottom and/or left and right sides of the output album art to make the total size of the output
* art match the values that you specified for MaxWidth
and MaxHeight
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Artwork withPaddingPolicy(String paddingPolicy) {
setPaddingPolicy(paddingPolicy);
return this;
}
/**
*
* The format of album art, if any. Valid formats are .jpg
and .png
.
*
.jpg
and .png
.
*/
public void setAlbumArtFormat(String albumArtFormat) {
this.albumArtFormat = albumArtFormat;
}
/**
*
* The format of album art, if any. Valid formats are .jpg
and .png
.
*
.jpg
and .png
.
*/
public String getAlbumArtFormat() {
return this.albumArtFormat;
}
/**
*
* The format of album art, if any. Valid formats are .jpg
and .png
.
*
.jpg
and .png
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Artwork withAlbumArtFormat(String albumArtFormat) {
setAlbumArtFormat(albumArtFormat);
return this;
}
/**
* * The encryption settings, if any, that you want Elastic Transcoder to apply to your artwork. *
* * @param encryption * The encryption settings, if any, that you want Elastic Transcoder to apply to your artwork. */ public void setEncryption(Encryption encryption) { this.encryption = encryption; } /** ** The encryption settings, if any, that you want Elastic Transcoder to apply to your artwork. *
* * @return The encryption settings, if any, that you want Elastic Transcoder to apply to your artwork. */ public Encryption getEncryption() { return this.encryption; } /** ** The encryption settings, if any, that you want Elastic Transcoder to apply to your artwork. *
* * @param encryption * The encryption settings, if any, that you want Elastic Transcoder to apply to your artwork. * @return Returns a reference to this object so that method calls can be chained together. */ public Artwork withEncryption(Encryption encryption) { setEncryption(encryption); 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 (getInputKey() != null) sb.append("InputKey: ").append(getInputKey()).append(","); if (getMaxWidth() != null) sb.append("MaxWidth: ").append(getMaxWidth()).append(","); if (getMaxHeight() != null) sb.append("MaxHeight: ").append(getMaxHeight()).append(","); if (getSizingPolicy() != null) sb.append("SizingPolicy: ").append(getSizingPolicy()).append(","); if (getPaddingPolicy() != null) sb.append("PaddingPolicy: ").append(getPaddingPolicy()).append(","); if (getAlbumArtFormat() != null) sb.append("AlbumArtFormat: ").append(getAlbumArtFormat()).append(","); if (getEncryption() != null) sb.append("Encryption: ").append(getEncryption()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Artwork == false) return false; Artwork other = (Artwork) obj; if (other.getInputKey() == null ^ this.getInputKey() == null) return false; if (other.getInputKey() != null && other.getInputKey().equals(this.getInputKey()) == false) return false; if (other.getMaxWidth() == null ^ this.getMaxWidth() == null) return false; if (other.getMaxWidth() != null && other.getMaxWidth().equals(this.getMaxWidth()) == false) return false; if (other.getMaxHeight() == null ^ this.getMaxHeight() == null) return false; if (other.getMaxHeight() != null && other.getMaxHeight().equals(this.getMaxHeight()) == false) return false; if (other.getSizingPolicy() == null ^ this.getSizingPolicy() == null) return false; if (other.getSizingPolicy() != null && other.getSizingPolicy().equals(this.getSizingPolicy()) == false) return false; if (other.getPaddingPolicy() == null ^ this.getPaddingPolicy() == null) return false; if (other.getPaddingPolicy() != null && other.getPaddingPolicy().equals(this.getPaddingPolicy()) == false) return false; if (other.getAlbumArtFormat() == null ^ this.getAlbumArtFormat() == null) return false; if (other.getAlbumArtFormat() != null && other.getAlbumArtFormat().equals(this.getAlbumArtFormat()) == false) return false; if (other.getEncryption() == null ^ this.getEncryption() == null) return false; if (other.getEncryption() != null && other.getEncryption().equals(this.getEncryption()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getInputKey() == null) ? 0 : getInputKey().hashCode()); hashCode = prime * hashCode + ((getMaxWidth() == null) ? 0 : getMaxWidth().hashCode()); hashCode = prime * hashCode + ((getMaxHeight() == null) ? 0 : getMaxHeight().hashCode()); hashCode = prime * hashCode + ((getSizingPolicy() == null) ? 0 : getSizingPolicy().hashCode()); hashCode = prime * hashCode + ((getPaddingPolicy() == null) ? 0 : getPaddingPolicy().hashCode()); hashCode = prime * hashCode + ((getAlbumArtFormat() == null) ? 0 : getAlbumArtFormat().hashCode()); hashCode = prime * hashCode + ((getEncryption() == null) ? 0 : getEncryption().hashCode()); return hashCode; } @Override public Artwork clone() { try { return (Artwork) 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.ArtworkMarshaller.getInstance().marshall(this, protocolMarshaller); } }