package org.farng.mp3.id3; import java.io.IOException; import java.io.RandomAccessFile; import org.farng.mp3.TagException; import org.farng.mp3.TagNotFoundException; /** * Superclass for all ID3v1 tags. * * @author $author$ * @version $Revision: 2374 $ */ public abstract class AbstractID3v1 extends AbstractID3 { /** * Creates a new AbstractID3v1 object. */ protected AbstractID3v1() { super(); } /** * Creates a new AbstractID3v1 object. */ protected AbstractID3v1(final AbstractID3v1 copyObject) { super(copyObject); } public void append(final RandomAccessFile file) throws IOException, TagException { AbstractID3v1 oldTag; try { oldTag = new ID3v1_1(file); oldTag.append(this); oldTag.write(file); } catch (TagNotFoundException ex) { try { oldTag = new ID3v1(file); oldTag.append(this); oldTag.write(file); } catch (TagNotFoundException ex2) { write(file); } } } public void overwrite(final RandomAccessFile file) throws IOException, TagException { AbstractID3v1 oldTag; try { oldTag = new ID3v1_1(file); oldTag.overwrite(this); oldTag.write(file); } catch (TagNotFoundException ex) { try { oldTag = new ID3v1(file); oldTag.overwrite(this); oldTag.write(file); } catch (TagNotFoundException ex2) { write(file); } } } }