/** * @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; } }