org.jaudiotagger.tag.mp4.field
Class Mp4TagBinaryField

java.lang.Object
  extended by org.jaudiotagger.tag.mp4.Mp4TagField
      extended by org.jaudiotagger.tag.mp4.field.Mp4TagBinaryField
All Implemented Interfaces:
TagField
Direct Known Subclasses:
Mp4TagCoverField

public class Mp4TagBinaryField
extends Mp4TagField

Represents binary data

Subclassed by cover art field, TODO unaware of any other binary fields at the moment


Field Summary
protected  byte[] dataBytes
           
protected  int dataSize
           
protected  boolean isBinary
           
 
Fields inherited from class org.jaudiotagger.tag.mp4.Mp4TagField
id, logger, parentHeader
 
Constructor Summary
Mp4TagBinaryField(java.lang.String id)
          Construct an empty Binary Field
Mp4TagBinaryField(java.lang.String id, byte[] data)
          Construct new binary field with binarydata provided
Mp4TagBinaryField(java.lang.String id, java.nio.ByteBuffer raw)
          Construct binary field from rawdata of audio file
 
Method Summary
protected  void build(java.nio.ByteBuffer raw)
          Processes the data and sets the position of the data buffer to just after the end of this fields data ready for processing next field.
 void copyContent(TagField field)
          This method copies the data of the given field to the current data.
 byte[] getData()
           
protected  byte[] getDataBytes()
          Used when creating raw content
 int getDataSize()
           
 Mp4FieldType getFieldType()
           
 boolean isBinary()
          Determines whether the represented field contains (is made up of) binary data, instead of text data.
Software can identify fields to be displayed because they are human readable if this method returns false.
 boolean isEmpty()
          Determines whether the content of the field is empty.
 void setData(byte[] d)
           
 
Methods inherited from class org.jaudiotagger.tag.mp4.Mp4TagField
getId, getIdBytes, getRawContent, getRawContentDataOnly, isBinary, isCommon
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jaudiotagger.tag.TagField
toString
 

Field Detail

dataSize

protected int dataSize

dataBytes

protected byte[] dataBytes

isBinary

protected boolean isBinary
Constructor Detail

Mp4TagBinaryField

public Mp4TagBinaryField(java.lang.String id)
Construct an empty Binary Field

Parameters:
id -

Mp4TagBinaryField

public Mp4TagBinaryField(java.lang.String id,
                         byte[] data)
Construct new binary field with binarydata provided

Parameters:
id -
data -
Throws:
java.io.UnsupportedEncodingException

Mp4TagBinaryField

public Mp4TagBinaryField(java.lang.String id,
                         java.nio.ByteBuffer raw)
                  throws java.io.UnsupportedEncodingException
Construct binary field from rawdata of audio file

Parameters:
id -
raw -
Throws:
java.io.UnsupportedEncodingException
Method Detail

getFieldType

public Mp4FieldType getFieldType()
Specified by:
getFieldType in class Mp4TagField
Returns:
the field type of this field

getDataBytes

protected byte[] getDataBytes()
                       throws java.io.UnsupportedEncodingException
Used when creating raw content

Specified by:
getDataBytes in class Mp4TagField
Returns:
Throws:
java.io.UnsupportedEncodingException

build

protected void build(java.nio.ByteBuffer raw)
Description copied from class: Mp4TagField
Processes the data and sets the position of the data buffer to just after the end of this fields data ready for processing next field.

Specified by:
build in class Mp4TagField

isBinary

public boolean isBinary()
Description copied from interface: TagField
Determines whether the represented field contains (is made up of) binary data, instead of text data.
Software can identify fields to be displayed because they are human readable if this method returns false.

Returns:
true if field represents binary data (not human readable).

isEmpty

public boolean isEmpty()
Description copied from interface: TagField
Determines whether the content of the field is empty.

Returns:
true if no data is stored (or empty String).

getDataSize

public int getDataSize()

getData

public byte[] getData()

setData

public void setData(byte[] d)

copyContent

public void copyContent(TagField field)
Description copied from interface: TagField
This method copies the data of the given field to the current data.

Parameters:
field - The field containing the data to be taken.