com.amazonaws.services.elastictranscoder.model.Artwork Maven / Gradle / Ivy
Show all versions of aws-java-sdk-osgi 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;
/**
 * 
 * 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.
 * 
 */
public class Artwork implements Serializable, Cloneable {
    /**
     * 
     * 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.
     * 
     */
    private String inputKey;
    /**
     * 
     * 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.
     * 
     */
    private String maxWidth;
    /**
     * 
     * 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.
     * 
     */
    private String maxHeight;
    /**
     * 
     * 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. 
     * 
     * 
     */
    private String sizingPolicy;
    /**
     * 
     * 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.
     * 
     */
    private String paddingPolicy;
    /**
     * 
     * The format of album art, if any. Valid formats are .jpg and
     * .png.
     * 
     */
    private String albumArtFormat;
    /**
     * 
     * 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.
     * 
     * 
     * @param 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.
     */
    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.
     * 
     * 
     * @return 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.
     */
    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.
     * 
     * 
     * @param 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.
     * @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.
     * 
     * 
     * @param 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.
     */
    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.
     * 
     * 
     * @return 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.
     */
    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.
     * 
     * 
     * @param 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.
     * @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.
     * 
     * 
     * @param 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.
     */
    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.
     * 
     * 
     * @return 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.
     */
    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.
     * 
     * 
     * @param 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.
     * @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. 
     * 
     * 
     * 
     * @param sizingPolicy
     *        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.
     *         
     *        
     */
    public void setSizingPolicy(String sizingPolicy) {
        this.sizingPolicy = sizingPolicy;
    }
    /**
     * 
     * 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. 
     * 
     * 
     * 
     * @return 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. 
     *         
     */
    public String getSizingPolicy() {
        return this.sizingPolicy;
    }
    /**
     * 
     * 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. 
     * 
     * 
     * 
     * @param sizingPolicy
     *        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.
     *         
     *        
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public Artwork withSizingPolicy(String sizingPolicy) {
        setSizingPolicy(sizingPolicy);
        return this;
    }
    /**
     * 
     * 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.
     * 
     * 
     * @param 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.
     */
    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.
     * 
     * 
     * @return 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.
     */
    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.
     * 
     * 
     * @param 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.
     * @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.
     * 
     * 
     * @param albumArtFormat
     *        The format of album art, if any. Valid formats are
     *        .jpg and .png.
     */
    public void setAlbumArtFormat(String albumArtFormat) {
        this.albumArtFormat = albumArtFormat;
    }
    /**
     * 
     * The format of album art, if any. Valid formats are .jpg and
     * .png.
     * 
     * 
     * @return The format of album art, if any. Valid formats are
     *         .jpg and .png.
     */
    public String getAlbumArtFormat() {
        return this.albumArtFormat;
    }
    /**
     * 
     * The format of album art, if any. Valid formats are .jpg and
     * .png.
     * 
     * 
     * @param albumArtFormat
     *        The format of album art, if any. Valid formats are
     *        .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; 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 (getInputKey() != null)
            sb.append("InputKey: " + getInputKey() + ",");
        if (getMaxWidth() != null)
            sb.append("MaxWidth: " + getMaxWidth() + ",");
        if (getMaxHeight() != null)
            sb.append("MaxHeight: " + getMaxHeight() + ",");
        if (getSizingPolicy() != null)
            sb.append("SizingPolicy: " + getSizingPolicy() + ",");
        if (getPaddingPolicy() != null)
            sb.append("PaddingPolicy: " + getPaddingPolicy() + ",");
        if (getAlbumArtFormat() != null)
            sb.append("AlbumArtFormat: " + getAlbumArtFormat() + ",");
        if (getEncryption() != null)
            sb.append("Encryption: " + 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);
        }
    }
}