/**
* @author : Paul Taylor
*
* Version @version:$Id: PlainTextTagDisplayFormatter.java 792 2009-05-05 15:59:19Z paultaylor $
*
* MusicTag Copyright (C)2003,2004
*
* 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.
*
* 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.
*
* 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
*/
package org.jaudiotagger.logging;
/*
* For Formatting metadata contents of a file as simple text
*/
public class PlainTextTagDisplayFormatter extends AbstractTagDisplayFormatter {
private static PlainTextTagDisplayFormatter formatter;
StringBuffer sb = new StringBuffer();
StringBuffer indent = new StringBuffer();
public PlainTextTagDisplayFormatter() {
}
public void openHeadingElement(String type, String value) {
addElement(type, value);
increaseLevel();
}
public void openHeadingElement(String type, boolean value) {
openHeadingElement(type, String.valueOf(value));
}
public void openHeadingElement(String type, int value) {
openHeadingElement(type, String.valueOf(value));
}
public void closeHeadingElement(String type) {
decreaseLevel();
}
public void increaseLevel() {
level++;
indent.append(" ");
}
public void decreaseLevel() {
level--;
indent = new StringBuffer(indent.substring(0, indent.length() - 2));
}
public void addElement(String type, String value) {
sb.append(indent).append(type).append(":").append(value).append('\n');
}
public void addElement(String type, int value) {
addElement(type, String.valueOf(value));
}
public void addElement(String type, boolean value) {
addElement(type, String.valueOf(value));
}
public String toString() {
return sb.toString();
}
public static AbstractTagDisplayFormatter getInstanceOf() {
if (formatter == null) {
formatter = new PlainTextTagDisplayFormatter();
}
return formatter;
}
}