org.farng.mp3.id3
Class AbstractPictureFrameBody

java.lang.Object
  extended by org.farng.mp3.AbstractMP3FileItem
      extended by org.farng.mp3.AbstractMP3FragmentBody
          extended by org.farng.mp3.id3.AbstractID3v2FrameBody
              extended by org.farng.mp3.id3.AbstractPictureFrameBody
All Implemented Interfaces:
MP3MetadataContainer
Direct Known Subclasses:
FrameBodyAPIC, FrameBodyPIC

public abstract class AbstractPictureFrameBody
extends AbstractID3v2FrameBody

Base implementation for v2.2 PIC and v2.3+ APIC frames.

Version:
$Revision: 3 $
Author:
Eric Farng

Constructor Summary
AbstractPictureFrameBody()
          Creates a new AbstractPictureFrameBody object.
AbstractPictureFrameBody(AbstractPictureFrameBody body)
          Construct from another body (copy constructor).
AbstractPictureFrameBody(byte textEncoding, java.lang.String mimeType, byte pictureType, java.lang.String description, byte[] data)
          Creates a new FrameBodyAPIC object.
AbstractPictureFrameBody(java.io.RandomAccessFile file)
          Creates a new FrameBodyAPIC object.
 
Method Summary
protected abstract  AbstractMP3Object createMimeTypeObject()
          Create the appropriate MIME object.
 java.lang.String getDescription()
          This method calls toString for all it's objects and appends them.
 void setDescription(java.lang.String description)
          Set the description.
protected  void setupObjectList()
          Create the order of MP3Object objects that this body expects.
 
Methods inherited from class org.farng.mp3.id3.AbstractID3v2FrameBody
equals, readHeader, writeHeader
 
Methods inherited from class org.farng.mp3.AbstractMP3FragmentBody
appendToObjectList, getBriefDescription, getObject, getObjectListIterator, getSize, has6ByteHeader, isSubsetOf, iterator, read, setObject, toString, write
 
Methods inherited from class org.farng.mp3.AbstractMP3FileItem
getIdentifier
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractPictureFrameBody

public AbstractPictureFrameBody()
Creates a new AbstractPictureFrameBody object.


AbstractPictureFrameBody

public AbstractPictureFrameBody(AbstractPictureFrameBody body)
Construct from another body (copy constructor).

Parameters:
body - the body to copy

AbstractPictureFrameBody

public AbstractPictureFrameBody(byte textEncoding,
                                java.lang.String mimeType,
                                byte pictureType,
                                java.lang.String description,
                                byte[] data)
Creates a new FrameBodyAPIC object.

Parameters:
textEncoding - DOCUMENT ME!
mimeType - DOCUMENT ME!
pictureType - DOCUMENT ME!
description - DOCUMENT ME!
data - DOCUMENT ME!

AbstractPictureFrameBody

public AbstractPictureFrameBody(java.io.RandomAccessFile file)
                         throws java.io.IOException,
                                InvalidTagException
Creates a new FrameBodyAPIC object.

Parameters:
file - DOCUMENT ME!
Throws:
java.io.IOException - DOCUMENT ME!
InvalidTagException - DOCUMENT ME!
Method Detail

setDescription

public void setDescription(java.lang.String description)
Set the description.

Parameters:
description - the description to set

getDescription

public java.lang.String getDescription()
Description copied from class: AbstractMP3FragmentBody
This method calls toString for all it's objects and appends them. It contains new line characters and is more suited for display purposes

Overrides:
getDescription in class AbstractMP3FragmentBody
Returns:
formatted description string

setupObjectList

protected void setupObjectList()
Description copied from class: AbstractMP3FragmentBody
Create the order of MP3Object objects that this body expects. This method needs to be overwritten.

Specified by:
setupObjectList in class AbstractMP3FragmentBody

createMimeTypeObject

protected abstract AbstractMP3Object createMimeTypeObject()
Create the appropriate MIME object.

This varies between PIC and APIC.

Returns:
the appropriate AbstractMP3Object