/**
* @author : Paul Taylor
* <p/>
* Version @version:$Id: Lyrics3v2Fields.java 832 2009-11-12 13:25:38Z paultaylor $
* <p/>
* Jaudiotagger Copyright (C)2004,2005
* <p/>
* This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser
* General Public License as published by the Free Software Foundation; either version 2.1 of the License,
* or (at your option) any later version.
* <p/>
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
* <p/>
* You should have received a copy of the GNU Lesser General Public License along with this library; if not,
* you can get a copy from http://www.opensource.org/licenses/lgpl-license.php or write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* <p/>
* Description:
*/
package org.jaudiotagger.tag.lyrics3;
import org.jaudiotagger.tag.datatype.AbstractStringStringValuePair;
public class Lyrics3v2Fields extends AbstractStringStringValuePair {
private static Lyrics3v2Fields lyrics3Fields;
/**
* CRLF int set
*/
private static final byte[] crlfByte = {13, 10};
/**
* CRLF int set
*/
public static final String CRLF = new String(crlfByte);
public static Lyrics3v2Fields getInstanceOf() {
if (lyrics3Fields == null) {
lyrics3Fields = new Lyrics3v2Fields();
}
return lyrics3Fields;
}
public static final String FIELD_V2_INDICATIONS = "IND";
public static final String FIELD_V2_LYRICS_MULTI_LINE_TEXT = "LYR";
public static final String FIELD_V2_ADDITIONAL_MULTI_LINE_TEXT = "INF";
public static final String FIELD_V2_AUTHOR = "AUT";
public static final String FIELD_V2_ALBUM = "EAL";
public static final String FIELD_V2_ARTIST = "EAR";
public static final String FIELD_V2_TRACK = "ETT";
public static final String FIELD_V2_IMAGE = "IMG";
private Lyrics3v2Fields() {
idToValue.put(FIELD_V2_INDICATIONS, "Indications field");
idToValue.put(FIELD_V2_LYRICS_MULTI_LINE_TEXT, "Lyrics multi line text");
idToValue.put(FIELD_V2_ADDITIONAL_MULTI_LINE_TEXT, "Additional information multi line text");
idToValue.put(FIELD_V2_AUTHOR, "Lyrics/Music Author name");
idToValue.put(FIELD_V2_ALBUM, "Extended Album name");
idToValue.put(FIELD_V2_ARTIST, "Extended Artist name");
idToValue.put(FIELD_V2_TRACK, "Extended Track Title");
idToValue.put(FIELD_V2_IMAGE, "Link to an image files");
createMaps();
}
/**
* Returns true if the identifier is a valid Lyrics3v2 frame identifier
*
* @param identifier string to test
* @return true if the identifier is a valid Lyrics3v2 frame identifier
*/
public static boolean isLyrics3v2FieldIdentifier(String identifier) {
return identifier.length() >= 3 && getInstanceOf().getIdToValueMap().containsKey(identifier.substring(0, 3));
}
}