package org.farng.mp3.id3;
import java.io.IOException;
import java.io.RandomAccessFile;
import org.farng.mp3.InvalidTagException;
import org.farng.mp3.object.ObjectNumberHashMap;
import org.farng.mp3.object.ObjectStringSizeTerminated;
/**
* All frames starting with "T" are the same structurally and subclass from here
*
* @author Eric Farng
* @version $Revision: 2374 $
*/
public abstract class AbstractFrameBodyTextInformation extends AbstractID3v2FrameBody {
/**
* Creates a new FrameBodyTextInformation object.
*/
protected AbstractFrameBodyTextInformation() {
super();
}
/**
* Creates a new AbstractFrameBodyTextInformation object.
*/
protected AbstractFrameBodyTextInformation(final AbstractFrameBodyTextInformation body) {
super(body);
}
/**
* Creates a new FrameBodyTextInformation object.
*/
protected AbstractFrameBodyTextInformation(final byte textEncoding, final String text) {
super();
setObject("Text Encoding", new Byte(textEncoding));
setObject("Text", text);
}
/**
* Creates a new FrameBodyTextInformation object.
*/
protected AbstractFrameBodyTextInformation(final RandomAccessFile file) throws IOException, InvalidTagException {
super();
read(file);
}
public String getBriefDescription() {
return getText();
}
public void setText(final String text) {
setObject("Text", text);
}
public String getText() {
return (String) getObject("Text");
}
public void setTextEncoding(final byte textEncoding) {
setObject("Text Encoding", new Byte(textEncoding));
}
public byte getTextEncoding() {
return ((Byte) getObject("Text Encoding")).byteValue();
}
protected void setupObjectList() {
appendToObjectList(new ObjectNumberHashMap("Text Encoding", 1));
appendToObjectList(new ObjectStringSizeTerminated("Text"));
}
}