package model.data.xml.writers; import java.io.File; /** * AbstractTextWriter.java * @author Christopher Bertels (chbertel@uos.de) * 22.09.2008 * * Abstrakte Oberklasse aller Textdatei-basierten Writer. * zB: WarningWriter, InvoiceWriter */ public class AbstractTextWriter { /** * Erstellt das angegebene Verzeichnis, falls es nicht existiert. * @param dirName Name/Pfad des Verzeichnisses. */ public static void createDirIfNeeded(String dirName) { File dir = new File(dirName); if(!dir.exists()) { dir.mkdir(); } } /** * Formatiert eine Zahl als String mit einer angegeben Breite/Länge. * @param number Die Zahl, die formatiert werden soll. * @param maxWidth Die maximale Breite/Länge des Strings. * @return Der String mit der Zahl, evtl. abgeschnitten auf * die angegebene maxWidth. */ public static String formatInt(int number, int maxWidth) { String numString = Integer.toString(number); if(numString.length() > maxWidth) { return numString.substring(0, maxWidth - 1); } else { for(int i = numString.length() - 1; i < maxWidth; i++) { numString += " "; } return numString; } } /** * Formatiert einen String linksbündig mit einer maximalen Breite/Länge. * @param output Der String, der formatiert werden soll. * @param maxWidth Die maximale Breite/Länge.. * @return Der linksbündig formatierte String. */ public static String formatLeft(String output, int maxWidth) { String prefix = ""; if(output.length() > maxWidth) { return output.substring(0, maxWidth - 1); } else { for(int i = output.length() - 1; i < maxWidth; i++) { prefix += " "; } return prefix + output; } } }