Package org.springframework.batch.item.file.transform

# 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`
  `getFieldCount()`
  Return the number of fields in this '`FieldSet`'.
  `String[]`
  `getNames()`
  Accessor for the names of the fields.
  `Properties`
  `getProperties()`
  Construct name-value pairs from the field names and string values.
  `String[]`
  `getValues()`
  `boolean`
  `hasNames()`
  Check if there are names defined for the fields.
  `BigDecimal`
  `readBigDecimal(int index)`
  Read the `BigDecimal` value at index '`index`'.
  `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.
  `BigDecimal`
  `readBigDecimal(String name)`
  Read the `BigDecimal` value from column with given '`name`.
  `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.
  `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`
  `readBoolean(String name)`
  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`
  `readByte(String name)`
  Read the '`byte`' value from column with given '`name`'.
  `char`
  `readChar(int index)`
  Read the '`char`' value at index '`index`'.
  `char`
  `readChar(String name)`
  Read the '`char`' value from column with given '`name`'.
  `Date`
  `readDate(int index)`
  Read the `java.util.Date` value in default format at designated column `index`.
  `Date`
  `readDate(int index, String pattern)`
  Read the `java.util.Date` value in default format at designated column `index`.
  `Date`
  `readDate(int index, String pattern, Date defaultValue)`
  Read the `java.util.Date` value in default format at designated column `index`.
  `Date`
  `readDate(int index, Date defaultValue)`
  Read the `java.util.Date` value in default format at designated column `index`.
  `Date`
  `readDate(String name)`
  Read the `java.sql.Date` value in given format from column with given `name`.
  `Date`
  `readDate(String name, String pattern)`
  Read the `java.sql.Date` value in given format from column with given `name`.
  `Date`
  `readDate(String name, String pattern, Date defaultValue)`
  Read the `java.sql.Date` value in given format from column with given `name`.
  `Date`
  `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`
  `readDouble(String name)`
  Read the '`double`' value from column with given '`name`.
  `float`
  `readFloat(int index)`
  Read the '`float`' value at index '`index`'.
  `float`
  `readFloat(String name)`
  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`
  `readInt(String name)`
  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`
  `readLong(String name)`
  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.
  `String`
  `readRawString(int index)`
  Read the `String` value at index '`index`' including trailing whitespace (don't trim).
  `String`
  `readRawString(String name)`
  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`
  `readShort(String name)`
  Read the '`short`' value from column with given '`name`'.
  `String`
  `readString(int index)`
  Read the `String` value at index '`index`'.
  `String`
  `readString(String name)`
  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.