Open Source Repository

Home /csv/supercsv-1.52 | Repository Home


org/supercsv/prefs/CsvPreference.java
package org.supercsv.prefs;

/**
 * Before reading or writing CSV files, you must supply the reader/writer with a setup (this object)
 
 @author Kasper B. Graversen
 */
public class CsvPreference {
/**
 * Ready to use configuration. This one should cover 99% of all usages of the package
 */
public static final CsvPreference STANDARD_PREFERENCE = new CsvPreference('"'','"\r\n");

/**
 * Ready to use configuration for reading Windows Excel exported CSV files.
 */
public static final CsvPreference EXCEL_PREFERENCE = new CsvPreference('"'','"\n");

/**
 * Ready to use configuration for north european excel CSV files (columns are separated by ";" instead of ",")
 */
public static final CsvPreference EXCEL_NORTH_EUROPE_PREFERENCE = new CsvPreference('"'';'"\n");

/**
 * Ready to use configuration. Reading and making sure no data is accidently parsed as comments
 */
public static final CsvPreference NO_COMMENT_PREFERENCE = new CsvPreference('"'','"\n");

protected char quoteChar;

protected int delimiterChar;

/**
 * Only used when writing. Recommended "\n" or for mac "\r" or if special sequences are needed such as "<EOL>\n"
 */
protected String endOfLineSymbols;

/**
 * Set the preference for readers and writers
 
 @param quoteChar
 *            Specifies that matching pairs of this character delimit string constants in this tokenizer.
 @param delimiterChar
 *            Specifies the character separating each column
 @param endOfLineSymbols
 *            one or more symbols terminating the line, e.g. "\n". This parameter only makes sense for writers
 */
public CsvPreference(final char quoteChar, final int delimiterChar, final String endOfLineSymbols) {
  // setCommentChar(commentChar);
  setQuoteChar(quoteChar);
  setDelimiterChar(delimiterChar);
  setEndOfLineSymbols(endOfLineSymbols);
}

public int getDelimiterChar() {
  return delimiterChar;
}

public String getEndOfLineSymbols() {
  return endOfLineSymbols;
}

public int getQuoteChar() {
  return quoteChar;
}

public CsvPreference setDelimiterChar(final int delimiterChar) {
  this.delimiterChar = delimiterChar;
  return this;
}

public CsvPreference setEndOfLineSymbols(final String endOfLineSymbols) {
  this.endOfLineSymbols = endOfLineSymbols;
  return this;
}

public CsvPreference setQuoteChar(final char quoteChar) {
  this.quoteChar = quoteChar;
  return this;
}
}