Enum CsvGenerator.Feature

  • All Implemented Interfaces:
    com.fasterxml.jackson.core.FormatFeature, com.fasterxml.jackson.core.util.JacksonFeature, java.io.Serializable, java.lang.Comparable<CsvGenerator.Feature>
    Enclosing class:
    CsvGenerator

    public static enum CsvGenerator.Feature
    extends java.lang.Enum<CsvGenerator.Feature>
    implements com.fasterxml.jackson.core.FormatFeature
    Enumeration that defines all togglable features for CSV writers (if any: currently none)
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      ALWAYS_QUOTE_EMPTY_STRINGS
      Feature that determines whether values written as empty Strings (from java.lang.String valued POJO properties) should be forced to be quoted.
      ALWAYS_QUOTE_NUMBERS
      Feature that determines whether values written as Nymbers (from java.lang.Number valued POJO properties) should be forced to be quoted, regardless of whether they actually need this.
      ALWAYS_QUOTE_STRINGS
      Feature that determines whether values written as Strings (from java.lang.String valued POJO properties) should be forced to be quoted, regardless of whether they actually need this.
      ESCAPE_CONTROL_CHARS_WITH_ESCAPE_CHAR
      Feature that determines whether control characters (non-printable) are escaped using the configured escape character.
      ESCAPE_QUOTE_CHAR_WITH_ESCAPE_CHAR
      Feature that determines whether quote characters within quoted String values are escaped using configured escape character, instead of being "doubled up" (that is: a quote character is written twice in a row).
      OMIT_MISSING_TAIL_COLUMNS
      Feature that determines whether columns without matching value may be omitted, when they are the last values of the row.
      STRICT_CHECK_FOR_QUOTING
      Feature that determines how much work is done before determining that a column value requires quoting: when set as true, full check is made to only use quoting when it is strictly necessary; but when false, a faster but more conservative check is made, and possibly quoting is used for values that might not need it.
      WRITE_LINEFEED_AFTER_LAST_ROW
      Feature that determines whether a line-feed will be written at the end of content, after the last row of output.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean _defaultState  
      protected int _mask  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Feature​(boolean defaultState)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static int collectDefaults()
      Method that calculates bit set (flags) of all features that are enabled by default.
      boolean enabledByDefault()  
      boolean enabledIn​(int flags)  
      int getMask()  
      static CsvGenerator.Feature valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static CsvGenerator.Feature[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • STRICT_CHECK_FOR_QUOTING

        public static final CsvGenerator.Feature STRICT_CHECK_FOR_QUOTING
        Feature that determines how much work is done before determining that a column value requires quoting: when set as true, full check is made to only use quoting when it is strictly necessary; but when false, a faster but more conservative check is made, and possibly quoting is used for values that might not need it. Trade-offs is basically between optimal/minimal quoting (true), and possibly faster handling (false). Faster check involves only checking first N characters of value, as well as possible looser checks. However: strict check can also be more efficient in some cases when it allows omitting quoting, so trade-off is not always simple.

        Note, however, that regardless setting, all values that need to be quoted will be: it is just that when set to false, other values may also be quoted (to avoid having to do more expensive checks).

        Default value is false for "loose" (approximate, conservative) checking.

        Since:
        2.4
      • OMIT_MISSING_TAIL_COLUMNS

        public static final CsvGenerator.Feature OMIT_MISSING_TAIL_COLUMNS
        Feature that determines whether columns without matching value may be omitted, when they are the last values of the row. If true, values and separators between values may be omitted, to slightly reduce length of the row; if false, separators need to stay in place and values are indicated by empty Strings.
        Since:
        2.4
      • ALWAYS_QUOTE_STRINGS

        public static final CsvGenerator.Feature ALWAYS_QUOTE_STRINGS
        Feature that determines whether values written as Strings (from java.lang.String valued POJO properties) should be forced to be quoted, regardless of whether they actually need this. Note that this feature has precedence over STRICT_CHECK_FOR_QUOTING, when both would be applicable. Note that this setting does NOT affect quoting of typed values like Numbers or Booleans.
        Since:
        2.5
      • ALWAYS_QUOTE_EMPTY_STRINGS

        public static final CsvGenerator.Feature ALWAYS_QUOTE_EMPTY_STRINGS
        Feature that determines whether values written as empty Strings (from java.lang.String valued POJO properties) should be forced to be quoted.
        Since:
        2.9
      • ALWAYS_QUOTE_NUMBERS

        public static final CsvGenerator.Feature ALWAYS_QUOTE_NUMBERS
        Feature that determines whether values written as Nymbers (from java.lang.Number valued POJO properties) should be forced to be quoted, regardless of whether they actually need this.
        Since:
        2.16
      • ESCAPE_QUOTE_CHAR_WITH_ESCAPE_CHAR

        public static final CsvGenerator.Feature ESCAPE_QUOTE_CHAR_WITH_ESCAPE_CHAR
        Feature that determines whether quote characters within quoted String values are escaped using configured escape character, instead of being "doubled up" (that is: a quote character is written twice in a row).

        Default value is false so that quotes are doubled as necessary, not escaped.

        Since:
        2.9.3
      • ESCAPE_CONTROL_CHARS_WITH_ESCAPE_CHAR

        public static final CsvGenerator.Feature ESCAPE_CONTROL_CHARS_WITH_ESCAPE_CHAR
        Feature that determines whether control characters (non-printable) are escaped using the configured escape character. This feature allows LF and CR characters to be output as
        \n
        and
        \r
        instead of being echoed out. This is a compatibility feature for some parsers that can not read such output back in.

        Default value is false so that control characters are echoed out (backwards compatible).

        Since:
        2.9.9
      • WRITE_LINEFEED_AFTER_LAST_ROW

        public static final CsvGenerator.Feature WRITE_LINEFEED_AFTER_LAST_ROW
        Feature that determines whether a line-feed will be written at the end of content, after the last row of output.

        NOTE! When disabling this feature it is important that CsvGenerator.flush() is NOT called before CsvGenerator.close() is called; the current implementation relies on ability to essentially remove the last linefeed that was appended in the output buffer.

        Default value is true so all rows, including the last, are terminated by a line feed.

        Since:
        2.17
    • Field Detail

      • _defaultState

        protected final boolean _defaultState
      • _mask

        protected final int _mask
    • Constructor Detail

      • Feature

        private Feature​(boolean defaultState)
    • Method Detail

      • values

        public static CsvGenerator.Feature[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (CsvGenerator.Feature c : CsvGenerator.Feature.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static CsvGenerator.Feature valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • collectDefaults

        public static int collectDefaults()
        Method that calculates bit set (flags) of all features that are enabled by default.
      • enabledIn

        public boolean enabledIn​(int flags)
        Specified by:
        enabledIn in interface com.fasterxml.jackson.core.FormatFeature
        Specified by:
        enabledIn in interface com.fasterxml.jackson.core.util.JacksonFeature
      • enabledByDefault

        public boolean enabledByDefault()
        Specified by:
        enabledByDefault in interface com.fasterxml.jackson.core.FormatFeature
        Specified by:
        enabledByDefault in interface com.fasterxml.jackson.core.util.JacksonFeature
      • getMask

        public int getMask()
        Specified by:
        getMask in interface com.fasterxml.jackson.core.FormatFeature
        Specified by:
        getMask in interface com.fasterxml.jackson.core.util.JacksonFeature