package org.jaudiotagger.audio.asf.data; import org.jaudiotagger.audio.asf.util.Utils; import java.math.BigInteger; import java.util.ArrayList; import java.util.Collection; /** * @author eric */ public class EncryptionChunk extends Chunk { private String keyID; private String licenseURL; private String protectionType; private String secretData; /** * The read strings. */ private final ArrayList<String> strings; /** * Creates an instance. * * @param chunkLen * Length of current chunk. */ public EncryptionChunk(final BigInteger chunkLen) { super(GUID.GUID_CONTENT_ENCRYPTION, chunkLen); this.strings = new ArrayList<String>(); this.secretData = ""; this.protectionType = ""; this.keyID = ""; this.licenseURL = ""; } /** * This method appends a String. * * @param toAdd * String to add. */ public void addString(final String toAdd) { this.strings.add(toAdd); } /** * This method gets the keyID. * @return */ public String getKeyID() { return this.keyID; } /** * This method gets the license URL. * @return */ public String getLicenseURL() { return this.licenseURL; } /** * This method gets the secret data. * @return */ public String getProtectionType() { return this.protectionType; } /** * This method gets the secret data. * @return */ public String getSecretData() { return this.secretData; } /** * This method returns a collection of all {@link String}s which were addid * due {@link #addString(String)}. * * @return Inserted Strings. */ public Collection<String> getStrings() { return new ArrayList<String>(this.strings); } /** * {@inheritDoc} */ @Override public String prettyPrint(final String prefix) { final StringBuilder result = new StringBuilder(super.prettyPrint(prefix)); result.insert(0, Utils.LINE_SEPARATOR + prefix + " Encryption:" + Utils.LINE_SEPARATOR); result.append(prefix).append(" |->keyID ").append(this.keyID).append( Utils.LINE_SEPARATOR); result.append(prefix).append(" |->secretData ").append(this.secretData) .append(Utils.LINE_SEPARATOR); result.append(prefix).append(" |->protectionType ").append( this.protectionType).append(Utils.LINE_SEPARATOR); result.append(prefix).append(" |->licenseURL ").append(this.licenseURL) .append(Utils.LINE_SEPARATOR); this.strings.iterator(); for (final String string : this.strings) { result.append(prefix).append(" |->").append(string).append(Utils.LINE_SEPARATOR); } return result.toString(); } /** * This method appends a String. * * @param toAdd * String to add. */ public void setKeyID(final String toAdd) { this.keyID = toAdd; } /** * This method appends a String. * * @param toAdd * String to add. */ public void setLicenseURL(final String toAdd) { this.licenseURL = toAdd; } /** * This method appends a String. * * @param toAdd * String to add. */ public void setProtectionType(final String toAdd) { this.protectionType = toAdd; } /** * This method adds the secret data. * * @param toAdd * String to add. */ public void setSecretData(final String toAdd) { this.secretData = toAdd; } }