org.jaudiotagger.tag.id3.framebody
Class FrameBodyGRID

java.lang.Object
  extended by org.jaudiotagger.tag.id3.AbstractTagItem
      extended by org.jaudiotagger.tag.id3.AbstractTagFrameBody
          extended by org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody
              extended by org.jaudiotagger.tag.id3.framebody.FrameBodyGRID
All Implemented Interfaces:
ID3v23FrameBody, ID3v24FrameBody

public class FrameBodyGRID
extends AbstractID3v2FrameBody
implements ID3v24FrameBody, ID3v23FrameBody

Group identification registration frame.

This frame enables grouping of otherwise unrelated frames. This can be used when some frames are to be signed. To identify which frames belongs to a set of frames a group identifier must be registered in the tag with this frame. The 'Owner identifier' is a null-terminated string with a URL containing an email address, or a link to a location where an email address can be found, that belongs to the organisation responsible for this grouping. Questions regarding the grouping should be sent to the indicated email address. The 'Group symbol' contains a value that associates the frame with this group throughout the whole tag. Values below $80 are reserved. The 'Group symbol' may optionally be followed by some group specific data, e.g. a digital signature. There may be several "GRID" frames in a tag but only one containing the same symbol and only one containing the same owner identifier. The group symbol must be used somewhere in the tag. See section 3.3.1, flag j for more information.

<Header for 'Group ID registration', ID: "GRID">
Owner identifier <text string> $00
Group symbol $xx
Group dependent data <binary data>

For more details, please refer to the ID3 specifications:

Version:
$Id: FrameBodyGRID.java,v 1.15 2009/11/12 13:25:22 paultaylor Exp $
Author:
: Paul Taylor, : Eric Farng

Field Summary
 
Fields inherited from class org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody
TYPE_BODY
 
Fields inherited from class org.jaudiotagger.tag.id3.AbstractTagFrameBody
objectList
 
Fields inherited from class org.jaudiotagger.tag.id3.AbstractTagItem
logger
 
Constructor Summary
FrameBodyGRID()
          Creates a new FrameBodyGRID datatype.
FrameBodyGRID(java.nio.ByteBuffer byteBuffer, int frameSize)
          Creates a new FrameBodyGRID datatype.
FrameBodyGRID(FrameBodyGRID body)
           
FrameBodyGRID(java.lang.String owner, byte groupSymbol, byte[] data)
          Creates a new FrameBodyGRID datatype.
 
Method Summary
 byte getGroupSymbol()
           
 java.lang.String getIdentifier()
          The ID3v2 frame identifier
 java.lang.String getOwner()
           
 void setGroupSymbol(byte textEncoding)
           
 void setOwner(java.lang.String owner)
           
protected  void setupObjectList()
          Create the list of Datatypes that this body expects in the correct order This method needs to be implemented by concrete subclasses
 
Methods inherited from class org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody
createStructure, equals, getSize, read, setSize, setSize, write
 
Methods inherited from class org.jaudiotagger.tag.id3.AbstractTagFrameBody
getBriefDescription, getHeader, getLongDescription, getObject, getObjectValue, getTextEncoding, isSubsetOf, iterator, setHeader, setObjectValue, setTextEncoding, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FrameBodyGRID

public FrameBodyGRID()
Creates a new FrameBodyGRID datatype.


FrameBodyGRID

public FrameBodyGRID(FrameBodyGRID body)

FrameBodyGRID

public FrameBodyGRID(java.lang.String owner,
                     byte groupSymbol,
                     byte[] data)
Creates a new FrameBodyGRID datatype.

Parameters:
owner -
groupSymbol -
data -

FrameBodyGRID

public FrameBodyGRID(java.nio.ByteBuffer byteBuffer,
                     int frameSize)
              throws InvalidTagException
Creates a new FrameBodyGRID datatype.

Parameters:
byteBuffer -
frameSize -
Throws:
InvalidTagException - if unable to create framebody from buffer
Method Detail

setGroupSymbol

public void setGroupSymbol(byte textEncoding)
Parameters:
textEncoding -

getGroupSymbol

public byte getGroupSymbol()
Returns:

getIdentifier

public java.lang.String getIdentifier()
The ID3v2 frame identifier

Specified by:
getIdentifier in class AbstractID3v2FrameBody
Returns:
the ID3v2 frame identifier for this frame type

setOwner

public void setOwner(java.lang.String owner)
Parameters:
owner -

getOwner

public java.lang.String getOwner()
Returns:

setupObjectList

protected void setupObjectList()
Description copied from class: AbstractTagFrameBody
Create the list of Datatypes that this body expects in the correct order This method needs to be implemented by concrete subclasses

Specified by:
setupObjectList in class AbstractTagFrameBody