/*
* #%L
* gitools-utils
* %%
* Copyright (C) 2013 Universitat Pompeu Fabra - Biomedical Genomics group
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* <http://www.gnu.org/licenses/gpl-3.0.html>.
* #L%
*/
package org.gitools.utils.readers.text;
import java.io.PrintWriter;
import java.io.Writer;
import java.util.Arrays;
public class RawFlatTextWriter {
private final PrintWriter out;
private final char separator;
private final char quote;
public RawFlatTextWriter(Writer writer, char separator, char quote) {
this.out = new PrintWriter(writer);
this.separator = separator;
this.quote = quote;
}
public void writeNewLine() {
out.println();
}
public void writeValue(String value) {
if (value == null) {
return;
}
out.print(value);
}
public void writeQuotedValue(String value) {
if (value == null) {
return;
}
out.print(quote);
out.print(value);
out.print(quote);
}
public void writeProperty(String name, String value) {
out.print(name);
out.print(separator);
writeQuotedValue(value);
out.println();
}
public void writePropertyList(String name, String[] values) {
writePropertyList(name, Arrays.asList(values));
}
public void writePropertyList(String name, Iterable<String> values) {
out.print(name);
for (String value : values) {
out.print(separator);
writeQuotedValue(value);
}
out.println();
}
public void writeSeparator() {
out.print(separator);
}
public void write(String raw) {
out.print(raw);
}
public void close() {
out.close();
}
}