com.tffenterprises.music.tag.id3v2.frame
Class MetaFrame

java.lang.Object
  extended by com.tffenterprises.music.tag.id3v2.Frame
      extended by com.tffenterprises.music.tag.id3v2.frame.BaseFrame
          extended by com.tffenterprises.music.tag.id3v2.frame.GenericFrame
              extended by com.tffenterprises.music.tag.id3v2.frame.MetaFrame
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
ZCDMFrame

public abstract class MetaFrame
extends GenericFrame
implements java.io.Serializable, java.lang.Cloneable

Two types of meta frames were defined in ID3v2.2, and were deprecated in ID3v2.3. This implementation blissfully hopes that no more metaframes will ever be implemented. Similarly, this frame type can be read, but cannot be written out. MetaFrame should not be used externally.

Version:
1.0d1 $Date: 2002/10/12 20:00:08 $
Author:
Guillaume Lessard
See Also:
Serialized Form

Constructor Summary
MetaFrame()
          Constructs a new MetaFrame using a new FrameHeader
MetaFrame(FrameHeader header)
          Constructs a new instance using the given FrameHeader.
 
Method Summary
 ByteArrayInputStream getByteStream()
          Returns the data stream to be used when decoding the embedded frames.
 boolean isOfRepeatableType()
          Returns true if it is legal for multiple frames of this type to exist in the same ID3v2 tag.
 
Methods inherited from class com.tffenterprises.music.tag.id3v2.frame.GenericFrame
clone, equals, getBytes, getRawData, setRawData, toString
 
Methods inherited from class com.tffenterprises.music.tag.id3v2.frame.BaseFrame
getChecksum, getFormatFlags, getFrameID, getHeader, getStatusFlags, hashCode, isChanged, setChanged, setFormatFlags, setStatusFlags, toByteArray, updateChecksum, writeTo
 
Methods inherited from class com.tffenterprises.music.tag.id3v2.Frame
FromByteArray, FromByteArray, FromInputStream, GetFrameClassForID, getNewInstance, getNewInstance, getNewInstance, MinimumLength, RegisterFrameClass, UnregisterFrameClass
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MetaFrame

public MetaFrame()
Constructs a new MetaFrame using a new FrameHeader


MetaFrame

public MetaFrame(FrameHeader header)
Constructs a new instance using the given FrameHeader.

Parameters:
header - The FrameHeader instance to be used for this MetaFrame.
Method Detail

isOfRepeatableType

public boolean isOfRepeatableType()
Returns true if it is legal for multiple frames of this type to exist in the same ID3v2 tag. Metaframes can exist in only one copy, since they include several other frames; this thus returns false.

Overrides:
isOfRepeatableType in class GenericFrame
Returns:
false

getByteStream

public ByteArrayInputStream getByteStream()
                                   throws FrameDataFormatException
Returns the data stream to be used when decoding the embedded frames.

Returns:
the data stream to be used when decoding the embedded frames.
Throws:
FrameDataFormatException - if the data format cannot be parsed.