org.blinkenlights.jid3.v2
Class AENCID3V2Frame

java.lang.Object
  extended byorg.blinkenlights.jid3.v2.ID3V2Frame
      extended byorg.blinkenlights.jid3.v2.AENCID3V2Frame
All Implemented Interfaces:
ID3Subject, ID3Visitable

public class AENCID3V2Frame
extends ID3V2Frame


Constructor Summary
AENCID3V2Frame(java.io.InputStream oIS)
           
AENCID3V2Frame(java.lang.String sOwnerIdentifier, int iPreviewStartFrame, int iPreviewLengthFrames, byte[] abyEncryptionInfo)
          Constructor.
 
Method Summary
 void accept(ID3Visitor oID3Visitor)
          Accept a visitor.
 boolean equals(java.lang.Object oOther)
           
 byte[] getEncryptionInfo()
          Get additional encryption info required for the particular method used.
protected  byte[] getFrameId()
          Get the four bytes which uniquely specify of which type this frame is.
 java.lang.String getOwnerIdentifier()
          Get the owner identifier for the encryption described in this frame.
 int getPreviewFramesLength()
          Get the length in frames of the preview section of this file.
 int getPreviewStartFrame()
          Get the starting frame of the unencrypted preview section of this file.
 void setEncryptionInfo(byte[] abyEncryptionInfo)
          Set any additional encryption info which will be required for the decryption of this file, based on the particular encryption method in use.
 void setOwnerIdentifier(java.lang.String sOwnerIdentifier)
          Set the owner identifier for the encryption described in this frame.
 void setPreviewRange(int iPreviewStartFrame, int iPreviewLengthFrames)
          Set the range of the unencrypted preview section of this file.
 java.lang.String toString()
          Represent the contents of this frame as a string.
protected  void writeBody(ID3DataOutputStream oIDOS)
          Write the body of the frame to an ID3 data output stream.
 
Methods inherited from class org.blinkenlights.jid3.v2.ID3V2Frame
addID3Observer, getEncryptionMethod, isEncrypted, notifyID3Observers, removeID3Observer, setCompressionFlag, setEncryption, setFileAlterPreservationFlag, setGroupingIdentityFlag, setReadOnlyFlag, setTagAlterPreservationFlag, write, writeHeader
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AENCID3V2Frame

public AENCID3V2Frame(java.lang.String sOwnerIdentifier,
                      int iPreviewStartFrame,
                      int iPreviewLengthFrames,
                      byte[] abyEncryptionInfo)
               throws ID3Exception
Constructor.

Parameters:
sOwnerIdentifier - an URL or email address, providing detail regarding the encryption of this file, or null if not used
iPreviewStartFrame - the number of the first frame of this file which is not encrypted, or zero if the entire file is encrypted
iPreviewLengthFrames - the length in frames of the unencrypted preview portion of the file, or zero if the entire file is encrypted
abyEncryptionInfo - any data which is required for decryption, as defined by the method used, or null if not required
Throws:
ID3Exception - if either iPreviewStartFrame or iPreviewLengthFrames are negative, or greater than 65535

AENCID3V2Frame

public AENCID3V2Frame(java.io.InputStream oIS)
               throws ID3Exception
Method Detail

accept

public void accept(ID3Visitor oID3Visitor)
Description copied from interface: ID3Visitable
Accept a visitor.

Parameters:
oID3Visitor - a visitor of this object

setOwnerIdentifier

public void setOwnerIdentifier(java.lang.String sOwnerIdentifier)
                        throws ID3Exception
Set the owner identifier for the encryption described in this frame.

Parameters:
sOwnerIdentifier - an URL or an email address where the user can find information on decrypting this file
Throws:
ID3Exception - if this frame is in a tag with another AENC frame which would have the same owner identifier

getOwnerIdentifier

public java.lang.String getOwnerIdentifier()
Get the owner identifier for the encryption described in this frame.

Returns:
an URL or an email address where the user can find information on decrypting this file

setPreviewRange

public void setPreviewRange(int iPreviewStartFrame,
                            int iPreviewLengthFrames)
                     throws ID3Exception
Set the range of the unencrypted preview section of this file.

Parameters:
iPreviewStartFrame - the number of the first frame of this file which is not encrypted, or zero if the entire file is encrypted
iPreviewLengthFrames - the length in frames of the unencrypted preview portion of the file, or zero if the entire file is encrypted
Throws:
ID3Exception - if either iPreviewStartFrame or iPreviewLengthFrames are negative, or greater than 65535

getPreviewStartFrame

public int getPreviewStartFrame()
Get the starting frame of the unencrypted preview section of this file.

Returns:
the starting frame number, or zero if there is no preview section

getPreviewFramesLength

public int getPreviewFramesLength()
Get the length in frames of the preview section of this file.

Returns:
the length in frames, or zero if there is no preview section

setEncryptionInfo

public void setEncryptionInfo(byte[] abyEncryptionInfo)
Set any additional encryption info which will be required for the decryption of this file, based on the particular encryption method in use.

Parameters:
abyEncryptionInfo - any data which is required for decryption, as defined by the method used, or null if not required

getEncryptionInfo

public byte[] getEncryptionInfo()
Get additional encryption info required for the particular method used.

Returns:
any additional encryption info, if required, or null

getFrameId

protected byte[] getFrameId()
Description copied from class: ID3V2Frame
Get the four bytes which uniquely specify of which type this frame is.

Specified by:
getFrameId in class ID3V2Frame

toString

public java.lang.String toString()
Description copied from class: ID3V2Frame
Represent the contents of this frame as a string. For debugging purposes.

Specified by:
toString in class ID3V2Frame
Returns:
a string representing this frame

writeBody

protected void writeBody(ID3DataOutputStream oIDOS)
                  throws java.io.IOException
Description copied from class: ID3V2Frame
Write the body of the frame to an ID3 data output stream.

Specified by:
writeBody in class ID3V2Frame
Parameters:
oIDOS - the output stream to write to
Throws:
java.io.IOException

equals

public boolean equals(java.lang.Object oOther)