Class SelectiveCsvEncoder

java.lang.Object
org.supercsv.encoder.DefaultCsvEncoder
org.supercsv.encoder.SelectiveCsvEncoder
All Implemented Interfaces:
CsvEncoder

public class SelectiveCsvEncoder extends DefaultCsvEncoder
A selective CsvEncoder implementation - only the desired column numbers (if any) are encoded. Use with caution - disabling encoding may increase performance but at the risk of invalid CSV.
Since:
2.1.0
  • Field Details

    • columnNumbers

      private final Set<Integer> columnNumbers
  • Constructor Details

    • SelectiveCsvEncoder

      public SelectiveCsvEncoder(int... columnsToEncode)
      Constructs a new SelectiveCsvEncoder that encodes columns by column number. If no column numbers are supplied (i.e. no parameters) then no columns will be encoded.
      Parameters:
      columnsToEncode - the column numbers to encode
    • SelectiveCsvEncoder

      public SelectiveCsvEncoder(boolean[] columnsToEncode)
      Constructs a new SelectiveCsvEncoder that encodes columns if the element representing that column in the supplied array is true.
      Parameters:
      columnsToEncode - boolean array representing columns to encode (true indicates a column should be encoded).
  • Method Details

    • encode

      public String encode(String input, CsvContext context, CsvPreference preference)
      Encodes a String to be written to a CSV file. The encoder should honour all CSV preferences including updating the current lineNumber (in the CSV context - it will be updated in the calling CsvWriter after encoding has completed) as line terminators are encountered in the String to be escaped (converting all 3 variations of line terminators to the end of line symbols specified in the preferences). The CsvContext can also be used to encode based on the current context (e.g. you may want to always put quotes around a particular column).
      Specified by:
      encode in interface CsvEncoder
      Overrides:
      encode in class DefaultCsvEncoder
      Parameters:
      input - the String to be encoded
      context - the context
      preference - the CSV preferences
      Returns:
      the encoded CSV