|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jaudiotagger.tag.id3.AbstractTagItem org.jaudiotagger.tag.id3.AbstractTagFrameBody org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody org.jaudiotagger.tag.id3.framebody.FrameBodyCOMR
public class FrameBodyCOMR
Commercial frame.
This frame enables several competing offers in the same tag by bundling all needed information. That makes this frame rather complex but it's an easier solution than if one tries to achieve the same result with several frames. The frame begins, after the frame ID, size and encoding fields, with a price string field. A price is constructed by one three character currency code, encoded according to ISO-4217 alphabetic currency code, followed by a numerical value where "." is used as decimal seperator. In the price string several prices may be concatenated, seperated by a "/" character, but there may only be one currency of each type.The price string is followed by an 8 character date string in the format YYYYMMDD, describing for how long the price is valid. After that is a contact URL, with which the user can contact the seller, followed by a one byte 'received as' field. It describes how the audio is delivered when bought according to the following list:
$00 | Other |
$01 | Standard CD album with other songs |
$02 | Compressed audio on CD |
$03 | File over the Internet |
$04 | Stream over the Internet |
$05 | As note sheets |
$06 | As note sheets in a book with other sheets |
$07 | Music on other media |
$08 | Non-musical merchandise |
Next follows a terminated string with the name of the seller followed by a terminated string with a short description of the product. The last thing is the ability to include a company logotype. The first of them is the 'Picture MIME type' field containing information about which picture format is used. In the event that the MIME media type name is omitted, "image/" will be implied. Currently only "image/png" and "image/jpeg" are allowed. This format string is followed by the binary picture data. This two last fields may be omitted if no picture is to attach.
<Header for 'Commercial frame', ID: "COMR"> | |
Text encoding | $xx |
Price string | <text string> $00 |
Valid until | <text string> |
Contact URL | <text string> $00 |
Received as | $xx |
Name of seller | <text string according to encoding> $00 (00) |
Description | <text string according to encoding> $00 (00) |
Picture MIME type | <string> $00 |
Seller logo | <binary data> |
For more details, please refer to the ID3 specifications:
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 | |
---|---|
FrameBodyCOMR()
Creates a new FrameBodyCOMR datatype. |
|
FrameBodyCOMR(java.nio.ByteBuffer byteBuffer,
int frameSize)
Creates a new FrameBodyCOMR datatype. |
|
FrameBodyCOMR(byte textEncoding,
java.lang.String priceString,
java.lang.String validUntil,
java.lang.String contactUrl,
byte recievedAs,
java.lang.String nameOfSeller,
java.lang.String description,
java.lang.String mimeType,
byte[] sellerLogo)
Creates a new FrameBodyCOMR datatype. |
|
FrameBodyCOMR(FrameBodyCOMR body)
|
Method Summary | |
---|---|
java.lang.String |
getIdentifier()
The ID3v2 frame identifier |
java.lang.String |
getOwner()
|
void |
getOwner(java.lang.String description)
|
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 |
void |
write(java.io.ByteArrayOutputStream tagBuffer)
If the seller or description cannot be encoded using current encoder, change the encoder |
Methods inherited from class org.jaudiotagger.tag.id3.framebody.AbstractID3v2FrameBody |
---|
createStructure, equals, getSize, read, setSize, setSize |
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 |
---|
public FrameBodyCOMR()
public FrameBodyCOMR(FrameBodyCOMR body)
public FrameBodyCOMR(byte textEncoding, java.lang.String priceString, java.lang.String validUntil, java.lang.String contactUrl, byte recievedAs, java.lang.String nameOfSeller, java.lang.String description, java.lang.String mimeType, byte[] sellerLogo)
textEncoding
- priceString
- validUntil
- contactUrl
- recievedAs
- nameOfSeller
- description
- mimeType
- sellerLogo
- public FrameBodyCOMR(java.nio.ByteBuffer byteBuffer, int frameSize) throws InvalidTagException
byteBuffer
- frameSize
-
InvalidTagException
- if unable to create framebody from bufferMethod Detail |
---|
public java.lang.String getIdentifier()
getIdentifier
in class AbstractID3v2FrameBody
public java.lang.String getOwner()
public void getOwner(java.lang.String description)
description
- public void write(java.io.ByteArrayOutputStream tagBuffer)
write
in class AbstractID3v2FrameBody
protected void setupObjectList()
AbstractTagFrameBody
setupObjectList
in class AbstractTagFrameBody
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |