package org.cmc.music.myid3;
import java.util.Vector;
import org.cmc.music.metadata.IMusicMetadata;
public abstract class ID3Tag
{
public static final int TAG_TYPE_ID3_V1 = 1;
public static final int TAG_TYPE_ID3_V2 = 2;
public final int tagType;
public final byte bytes[];
public final IMusicMetadata values;
public ID3Tag(int tag_type, byte[] bytes, IMusicMetadata values)
{
this.tagType = tag_type;
this.bytes = bytes;
this.values = values;
}
public static class V1 extends ID3Tag
{
public V1(byte[] bytes, IMusicMetadata values)
{
super(ID3Tag.TAG_TYPE_ID3_V1, bytes, values);
}
}
public static class V2 extends ID3Tag
{
public final Vector frames;
public final byte versionMajor;
public final byte versionMinor;
public V2(final byte versionMajor, final byte versionMinor,
byte[] bytes, IMusicMetadata values, final Vector frames)
{
super(ID3Tag.TAG_TYPE_ID3_V2, bytes, values);
this.versionMajor = versionMajor;
this.versionMinor = versionMinor;
this.frames = frames;
}
}
public String toString()
{
StringBuffer result = new StringBuffer();
result.append("{ID3Tag. ");
result.append("values: " + values);
result.append(" }");
return result.toString();
}
}