java/sql-dk/src/info/globalcode/sql/dk/formatting/TeXFormatter.java
branchv_0
changeset 206 e2f24eea8543
parent 174 3c6d560a1d14
child 207 2bba68ef47c1
equal deleted inserted replaced
205:d6624c3b146a 206:e2f24eea8543
    17  */
    17  */
    18 package info.globalcode.sql.dk.formatting;
    18 package info.globalcode.sql.dk.formatting;
    19 
    19 
    20 import info.globalcode.sql.dk.ColorfulPrintWriter;
    20 import info.globalcode.sql.dk.ColorfulPrintWriter;
    21 import info.globalcode.sql.dk.Constants;
    21 import info.globalcode.sql.dk.Constants;
       
    22 import info.globalcode.sql.dk.configuration.PropertyDeclaration;
       
    23 import static info.globalcode.sql.dk.formatting.CommonProperties.COLORFUL;
       
    24 import static info.globalcode.sql.dk.formatting.CommonProperties.COLORFUL_DESCRIPTION;
    22 import java.util.Collections;
    25 import java.util.Collections;
    23 import java.util.HashMap;
    26 import java.util.HashMap;
    24 import java.util.List;
    27 import java.util.List;
    25 import java.util.Map;
    28 import java.util.Map;
    26 
    29 
    27 /**
    30 /**
    28  * Outputs result sets in (La)TeX format.
    31  * Outputs result sets in (La)TeX format.
    29  *
    32  *
    30  * @author Ing. František Kučera (frantovo.cz)
    33  * @author Ing. František Kučera (frantovo.cz)
    31  */
    34  */
       
    35 @PropertyDeclaration(name = COLORFUL, type = Boolean.class, description = COLORFUL_DESCRIPTION)
    32 public class TeXFormatter extends AbstractFormatter {
    36 public class TeXFormatter extends AbstractFormatter {
    33 
    37 
    34 	public static final String NAME = "tex"; // bash-completion:formatter
    38 	public static final String NAME = "tex"; // bash-completion:formatter
    35 	public static final String PROPERTY_COLORFUL = "color";
       
    36 	private static final ColorfulPrintWriter.TerminalColor COMMAND_COLOR = ColorfulPrintWriter.TerminalColor.Magenta;
    39 	private static final ColorfulPrintWriter.TerminalColor COMMAND_COLOR = ColorfulPrintWriter.TerminalColor.Magenta;
    37 	private static final ColorfulPrintWriter.TerminalColor OPTIONS_COLOR = ColorfulPrintWriter.TerminalColor.Yellow;
    40 	private static final ColorfulPrintWriter.TerminalColor OPTIONS_COLOR = ColorfulPrintWriter.TerminalColor.Yellow;
    38 	private static final Map<Character, String> TEX_ESCAPE_MAP;
    41 	private static final Map<Character, String> TEX_ESCAPE_MAP;
    39 	private final ColorfulPrintWriter out;
    42 	private final ColorfulPrintWriter out;
    40 
    43 
    56 		TEX_ESCAPE_MAP = Collections.unmodifiableMap(replacements);
    59 		TEX_ESCAPE_MAP = Collections.unmodifiableMap(replacements);
    57 	}
    60 	}
    58 
    61 
    59 	public TeXFormatter(FormatterContext formatterContext) {
    62 	public TeXFormatter(FormatterContext formatterContext) {
    60 		super(formatterContext);
    63 		super(formatterContext);
    61 		boolean colorful = formatterContext.getProperties().getBoolean(PROPERTY_COLORFUL, false);
    64 		boolean colorful = formatterContext.getProperties().getBoolean(COLORFUL, false);
    62 		out = new ColorfulPrintWriter(formatterContext.getOutputStream(), false, colorful);
    65 		out = new ColorfulPrintWriter(formatterContext.getOutputStream(), false, colorful);
    63 	}
    66 	}
    64 
    67 
    65 	@Override
    68 	@Override
    66 	public void writeStartBatch() {
    69 	public void writeStartBatch() {