Interface FieldSet

All Known Implementing Classes:
DefaultFieldSet

public interface FieldSet
Interface used by flat file input sources to encapsulate concerns of converting an array of Strings to Java native types. A bit like the role played by ResultSet in JDBC, clients will know the name or position of strongly typed fields that they want to extract.
Author:
Dave Syer
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Return the number of fields in this 'FieldSet'.
    Accessor for the names of the fields.
    Construct name-value pairs from the field names and string values.
     
    boolean
    Check if there are names defined for the fields.
    readBigDecimal(int index)
    Read the BigDecimal value at index 'index'.
    readBigDecimal(int index, BigDecimal defaultValue)
    Read the BigDecimal value at index 'index', returning the supplied defaultValue if the trimmed string value at index 'index' is blank.
    Read the BigDecimal value from column with given 'name.
    readBigDecimal(String name, BigDecimal defaultValue)
    Read the BigDecimal value from column with given 'name, returning the supplied defaultValue if the trimmed string value at index 'index' is blank.
    boolean
    readBoolean(int index)
    Read the 'boolean' value at index 'index'.
    boolean
    readBoolean(int index, String trueValue)
    Read the 'boolean' value at index 'index'.
    boolean
    Read the 'boolean' value from column with given 'name'.
    boolean
    readBoolean(String name, String trueValue)
    Read the 'boolean' value from column with given 'name'.
    byte
    readByte(int index)
    Read the 'byte' value at index 'index'.
    byte
    Read the 'byte' value from column with given 'name'.
    char
    readChar(int index)
    Read the 'char' value at index 'index'.
    char
    Read the 'char' value from column with given 'name'.
    readDate(int index)
    Read the java.util.Date value in default format at designated column index.
    readDate(int index, String pattern)
    Read the java.util.Date value in default format at designated column index.
    readDate(int index, String pattern, Date defaultValue)
    Read the java.util.Date value in default format at designated column index.
    readDate(int index, Date defaultValue)
    Read the java.util.Date value in default format at designated column index.
    Read the java.sql.Date value in given format from column with given name.
    readDate(String name, String pattern)
    Read the java.sql.Date value in given format from column with given name.
    readDate(String name, String pattern, Date defaultValue)
    Read the java.sql.Date value in given format from column with given name.
    readDate(String name, Date defaultValue)
    Read the java.sql.Date value in given format from column with given name.
    double
    readDouble(int index)
    Read the 'double' value at index 'index'.
    double
    Read the 'double' value from column with given 'name.
    float
    readFloat(int index)
    Read the 'float' value at index 'index'.
    float
    Read the 'float' value from column with given 'name.
    int
    readInt(int index)
    Read the 'int' value at index 'index'.
    int
    readInt(int index, int defaultValue)
    Read the 'int' value at index 'index', using the supplied defaultValue if the field value is blank.
    int
    Read the 'int' value from column with given 'name'.
    int
    readInt(String name, int defaultValue)
    Read the 'int' value from column with given 'name', using the supplied defaultValue if the field value is blank.
    long
    readLong(int index)
    Read the 'long' value at index 'index'.
    long
    readLong(int index, long defaultValue)
    Read the 'long' value at index 'index', using the supplied defaultValue if the field value is blank.
    long
    Read the 'long' value from column with given 'name'.
    long
    readLong(String name, long defaultValue)
    Read the 'long' value from column with given 'name', using the supplied defaultValue if the field value is blank.
    readRawString(int index)
    Read the String value at index 'index' including trailing whitespace (don't trim).
    Read the String value from column with given 'name' including trailing whitespace (don't trim).
    short
    readShort(int index)
    Read the 'short' value at index 'index'.
    short
    Read the 'short' value from column with given 'name'.
    readString(int index)
    Read the String value at index 'index'.
    Read the String value from column with given 'name'.
  • Method Details

    • getNames

      String[] getNames()
      Accessor for the names of the fields.
      Returns:
      the names
      Throws:
      IllegalStateException - if the names are not defined
    • hasNames

      boolean hasNames()
      Check if there are names defined for the fields.
      Returns:
      true if there are names for the fields
    • getValues

      String[] getValues()
      Returns:
      fields wrapped by this 'FieldSet' instance as String values.
    • readString

      String readString(int index)
      Read the String value at index 'index'.
      Parameters:
      index - the field index.
      Returns:
      String containing the value at the index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
    • readString

      String readString(String name)
      Read the String value from column with given 'name'.
      Parameters:
      name - the field name.
      Returns:
      String containing the value from the specified name.
    • readRawString

      String readRawString(int index)
      Read the String value at index 'index' including trailing whitespace (don't trim).
      Parameters:
      index - the field index.
      Returns:
      String containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
    • readRawString

      String readRawString(String name)
      Read the String value from column with given 'name' including trailing whitespace (don't trim).
      Parameters:
      name - the field name.
      Returns:
      String containing the value from the specified name.
    • readBoolean

      boolean readBoolean(int index)
      Read the 'boolean' value at index 'index'.
      Parameters:
      index - the field index.
      Returns:
      boolean containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
    • readBoolean

      boolean readBoolean(String name)
      Read the 'boolean' value from column with given 'name'.
      Parameters:
      name - the field name.
      Returns:
      boolean containing the value from the specified name.
      Throws:
      IllegalArgumentException - if a column with given name is not defined.
    • readBoolean

      boolean readBoolean(int index, String trueValue)
      Read the 'boolean' value at index 'index'.
      Parameters:
      index - the field index.
      trueValue - the value that signifies true; case-sensitive.
      Returns:
      boolean containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds, or if the supplied trueValue is null.
    • readBoolean

      boolean readBoolean(String name, String trueValue)
      Read the 'boolean' value from column with given 'name'.
      Parameters:
      name - the field name.
      trueValue - the value that signifies true; case-sensitive.
      Returns:
      boolean containing the value from the specified name.
      Throws:
      IllegalArgumentException - if a column with given name is not defined, or if the supplied trueValue is null.
    • readChar

      char readChar(int index)
      Read the 'char' value at index 'index'.
      Parameters:
      index - the field index.
      Returns:
      char containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
    • readChar

      char readChar(String name)
      Read the 'char' value from column with given 'name'.
      Parameters:
      name - the field name.
      Returns:
      char containing the value from the specified name.
      Throws:
      IllegalArgumentException - if a column with given name is not defined.
    • readByte

      byte readByte(int index)
      Read the 'byte' value at index 'index'.
      Parameters:
      index - the field index.
      Returns:
      byte containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
    • readByte

      byte readByte(String name)
      Read the 'byte' value from column with given 'name'.
      Parameters:
      name - the field name.
      Returns:
      byte containing the value from the specified name.
    • readShort

      short readShort(int index)
      Read the 'short' value at index 'index'.
      Parameters:
      index - the field index.
      Returns:
      short containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
    • readShort

      short readShort(String name)
      Read the 'short' value from column with given 'name'.
      Parameters:
      name - the field name.
      Returns:
      short containing the value from the specified name.
      Throws:
      IllegalArgumentException - if a column with given name is not defined.
    • readInt

      int readInt(int index)
      Read the 'int' value at index 'index'.
      Parameters:
      index - the field index.
      Returns:
      int containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
    • readInt

      int readInt(String name)
      Read the 'int' value from column with given 'name'.
      Parameters:
      name - the field name.
      Returns:
      int containing the value from the specified name.
      Throws:
      IllegalArgumentException - if a column with given name is not defined.
    • readInt

      int readInt(int index, int defaultValue)
      Read the 'int' value at index 'index', using the supplied defaultValue if the field value is blank.
      Parameters:
      index - the field index.
      defaultValue - the value to use if the field value is blank.
      Returns:
      int containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
    • readInt

      int readInt(String name, int defaultValue)
      Read the 'int' value from column with given 'name', using the supplied defaultValue if the field value is blank.
      Parameters:
      name - the field name.
      defaultValue - the value to use if the field value is blank.
      Returns:
      int containing the value from the specified name.
      Throws:
      IllegalArgumentException - if a column with given name is not defined.
    • readLong

      long readLong(int index)
      Read the 'long' value at index 'index'.
      Parameters:
      index - the field index.
      Returns:
      long containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
    • readLong

      long readLong(String name)
      Read the 'long' value from column with given 'name'.
      Parameters:
      name - the field name.
      Returns:
      long containing the value from the specified name.
      Throws:
      IllegalArgumentException - if a column with given name is not defined.
    • readLong

      long readLong(int index, long defaultValue)
      Read the 'long' value at index 'index', using the supplied defaultValue if the field value is blank.
      Parameters:
      index - the field index.
      defaultValue - the value to use if the field value is blank.
      Returns:
      long containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
    • readLong

      long readLong(String name, long defaultValue)
      Read the 'long' value from column with given 'name', using the supplied defaultValue if the field value is blank.
      Parameters:
      name - the field name.
      defaultValue - the value to use if the field value is blank.
      Returns:
      long containing the value from the specified name.
      Throws:
      IllegalArgumentException - if a column with given name is not defined.
    • readFloat

      float readFloat(int index)
      Read the 'float' value at index 'index'.
      Parameters:
      index - the field index.
      Returns:
      float containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
    • readFloat

      float readFloat(String name)
      Read the 'float' value from column with given 'name.
      Parameters:
      name - the field name.
      Returns:
      float containing the value from the specified name.
      Throws:
      IllegalArgumentException - if a column with given name is not defined.
    • readDouble

      double readDouble(int index)
      Read the 'double' value at index 'index'.
      Parameters:
      index - the field index.
      Returns:
      double containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
    • readDouble

      double readDouble(String name)
      Read the 'double' value from column with given 'name.
      Parameters:
      name - the field name.
      Returns:
      double containing the value from the specified name.
      Throws:
      IllegalArgumentException - if a column with given name is not defined.
    • readBigDecimal

      BigDecimal readBigDecimal(int index)
      Read the BigDecimal value at index 'index'.
      Parameters:
      index - the field index.
      Returns:
      BigDecimal containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
    • readBigDecimal

      BigDecimal readBigDecimal(String name)
      Read the BigDecimal value from column with given 'name.
      Parameters:
      name - the field name.
      Returns:
      BigDecimal containing the value from the specified name.
      Throws:
      IllegalArgumentException - if a column with given name is not defined.
    • readBigDecimal

      BigDecimal readBigDecimal(int index, BigDecimal defaultValue)
      Read the BigDecimal value at index 'index', returning the supplied defaultValue if the trimmed string value at index 'index' is blank.
      Parameters:
      index - the field index.
      defaultValue - the value to use if the field value is blank.
      Returns:
      BigDecimal containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
    • readBigDecimal

      BigDecimal readBigDecimal(String name, BigDecimal defaultValue)
      Read the BigDecimal value from column with given 'name, returning the supplied defaultValue if the trimmed string value at index 'index' is blank.
      Parameters:
      name - the field name.
      defaultValue - the default value to use if the field is blank
      Returns:
      BigDecimal containing the value from the specified name.
      Throws:
      IllegalArgumentException - if a column with given name is not defined.
    • readDate

      Date readDate(int index)
      Read the java.util.Date value in default format at designated column index.
      Parameters:
      index - the field index.
      Returns:
      Date containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
      IllegalArgumentException - if the value is not parseable
      NullPointerException - if the value is empty
    • readDate

      Date readDate(String name)
      Read the java.sql.Date value in given format from column with given name.
      Parameters:
      name - the field name.
      Returns:
      Date containing the value from the specified name.
      Throws:
      IllegalArgumentException - if a column with given name is not defined or if the value is not parseable
      NullPointerException - if the value is empty
    • readDate

      Date readDate(int index, Date defaultValue)
      Read the java.util.Date value in default format at designated column index.
      Parameters:
      index - the field index.
      defaultValue - the default value to use if the field is blank
      Returns:
      Date containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
      IllegalArgumentException - if the value is not parseable
      NullPointerException - if the value is empty
    • readDate

      Date readDate(String name, Date defaultValue)
      Read the java.sql.Date value in given format from column with given name.
      Parameters:
      name - the field name.
      defaultValue - the default value to use if the field is blank
      Returns:
      Date containing the value from the specified name.
      Throws:
      IllegalArgumentException - if a column with given name is not defined.
    • readDate

      Date readDate(int index, String pattern)
      Read the java.util.Date value in default format at designated column index.
      Parameters:
      index - the field index.
      pattern - the pattern describing the date and time format
      Returns:
      Date containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
      IllegalArgumentException - if the date cannot be parsed.
    • readDate

      Date readDate(String name, String pattern)
      Read the java.sql.Date value in given format from column with given name.
      Parameters:
      name - the field name.
      pattern - the pattern describing the date and time format
      Returns:
      Date containing the value from the specified name.
      Throws:
      IllegalArgumentException - if a column with given name is not defined or if the specified field cannot be parsed
    • readDate

      Date readDate(int index, String pattern, Date defaultValue)
      Read the java.util.Date value in default format at designated column index.
      Parameters:
      index - the field index.
      pattern - the pattern describing the date and time format
      defaultValue - the default value to use if the field is blank
      Returns:
      Date containing the value from the specified index.
      Throws:
      IndexOutOfBoundsException - if the index is out of bounds.
      IllegalArgumentException - if the date cannot be parsed.
    • readDate

      Date readDate(String name, String pattern, Date defaultValue)
      Read the java.sql.Date value in given format from column with given name.
      Parameters:
      name - the field name.
      pattern - the pattern describing the date and time format
      defaultValue - the default value to use if the field is blank
      Returns:
      Date containing the value from the specified name.
      Throws:
      IllegalArgumentException - if a column with given name is not defined or if the specified field cannot be parsed
    • getFieldCount

      int getFieldCount()
      Return the number of fields in this 'FieldSet'.
      Returns:
      int containing the number of fields in this field set.
    • getProperties

      Properties getProperties()
      Construct name-value pairs from the field names and string values. Null values are omitted.
      Returns:
      some properties representing the field set.
      Throws:
      IllegalStateException - if the field name meta data is not available.