Enum CsvSchema.ColumnType

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<CsvSchema.ColumnType>
    Enclosing class:
    CsvSchema

    public static enum CsvSchema.ColumnType
    extends java.lang.Enum<CsvSchema.ColumnType>
    Enumeration that defines optional type indicators that can be passed with schema. If used type is used to determine type of JsonToken that column values are exposed as.
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      ARRAY
      Value will be a multi-value sequence, separated by array element separator.
      BOOLEAN
      Value is expected to be a boolean ("true", "false") String, or "null", or empty String (equivalent to null).
      NUMBER
      Value should be a number, but literals "null", "true" and "false" are also understood, and an empty String is considered null.
      NUMBER_OR_STRING
      Value is taken to be a number (if it matches valid JSON number formatting rules), literal (null, true or false) or String, depending on best match.
      STRING
      Default type if not explicitly defined; value will be presented as VALUE_STRING by parser, that is, no type-inference is performed, and value is not trimmed.
      STRING_OR_LITERAL
      Value is considered to be a String, except that tokens "null", "true" and "false" are recognized as matching tokens and reported as such; and values are trimmed (leading/trailing white space)
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private ColumnType()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static CsvSchema.ColumnType valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static CsvSchema.ColumnType[] 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

      • STRING

        public static final CsvSchema.ColumnType STRING
        Default type if not explicitly defined; value will be presented as VALUE_STRING by parser, that is, no type-inference is performed, and value is not trimmed.

        Note that this type allows coercion into array, if higher level application calls JsonParser.isExpectedStartArrayToken(), unlike more explicit types.

      • STRING_OR_LITERAL

        public static final CsvSchema.ColumnType STRING_OR_LITERAL
        Value is considered to be a String, except that tokens "null", "true" and "false" are recognized as matching tokens and reported as such; and values are trimmed (leading/trailing white space)
      • NUMBER

        public static final CsvSchema.ColumnType NUMBER
        Value should be a number, but literals "null", "true" and "false" are also understood, and an empty String is considered null. Values are also trimmed (leading/trailing white space) Other non-numeric Strings may cause parsing exception.
      • NUMBER_OR_STRING

        public static final CsvSchema.ColumnType NUMBER_OR_STRING
        Value is taken to be a number (if it matches valid JSON number formatting rules), literal (null, true or false) or String, depending on best match. Values are also trimmed (leading/trailing white space)
      • BOOLEAN

        public static final CsvSchema.ColumnType BOOLEAN
        Value is expected to be a boolean ("true", "false") String, or "null", or empty String (equivalent to null). Values are trimmed (leading/trailing white space). Values other than indicated above may result in an exception.
        Since:
        2.5
      • ARRAY

        public static final CsvSchema.ColumnType ARRAY
        Value will be a multi-value sequence, separated by array element separator. Element type itself may be any scalar type (that is, number or String) and will not be optimized. Separator may be overridden on per-column basis.

        Note that this type is used for generic concept of multiple values, and not specifically to match Java arrays: data-binding may match such columns to Collections as well, or even other types as necessary.

        Since:
        2.5
    • Constructor Detail

      • ColumnType

        private ColumnType()
    • Method Detail

      • values

        public static CsvSchema.ColumnType[] 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 (CsvSchema.ColumnType c : CsvSchema.ColumnType.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static CsvSchema.ColumnType 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