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 TypeMethodDescriptionint
Return the number of fields in this 'FieldSet
'.String[]
getNames()
Accessor for the names of the fields.Construct name-value pairs from the field names and string values.String[]
boolean
hasNames()
Check if there are names defined for the fields.readBigDecimal
(int index) Read theBigDecimal
value at index 'index
'.readBigDecimal
(int index, BigDecimal defaultValue) Read theBigDecimal
value at index 'index
', returning the supplieddefaultValue
if the trimmed string value at index 'index
' is blank.readBigDecimal
(String name) Read theBigDecimal
value from column with given 'name
.readBigDecimal
(String name, BigDecimal defaultValue) Read theBigDecimal
value from column with given 'name
, returning the supplieddefaultValue
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
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 thejava.util.Date
value in default format at designated columnindex
.Read thejava.util.Date
value in default format at designated columnindex
.Read thejava.util.Date
value in default format at designated columnindex
.Read thejava.util.Date
value in default format at designated columnindex
.Read thejava.sql.Date
value in given format from column with givenname
.Read thejava.sql.Date
value in given format from column with givenname
.Read thejava.sql.Date
value in given format from column with givenname
.Read thejava.sql.Date
value in given format from column with givenname
.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
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 supplieddefaultValue
if the field value is blank.int
Read the 'int
' value from column with given 'name
'.int
Read the 'int
' value from column with given 'name
', using the supplieddefaultValue
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 supplieddefaultValue
if the field value is blank.long
Read the 'long
' value from column with given 'name
'.long
Read the 'long
' value from column with given 'name
', using the supplieddefaultValue
if the field value is blank.readRawString
(int index) Read theString
value at index 'index
' including trailing whitespace (don't trim).readRawString
(String name) Read theString
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 theString
value at index 'index
'.readString
(String name) Read theString
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
Read theString
value at index 'index
'.- Parameters:
index
- the field index.- Returns:
String
containing the value at the index.- Throws:
IndexOutOfBoundsException
- if theindex
is out of bounds.
-
readString
Read theString
value from column with given 'name
'.- Parameters:
name
- the fieldname
.- Returns:
String
containing the value from the specifiedname
.
-
readRawString
Read theString
value at index 'index
' including trailing whitespace (don't trim).- Parameters:
index
- the field index.- Returns:
String
containing the value from the specifiedindex
.- Throws:
IndexOutOfBoundsException
- if theindex
is out of bounds.
-
readRawString
Read theString
value from column with given 'name
' including trailing whitespace (don't trim).- Parameters:
name
- the fieldname
.- Returns:
String
containing the value from the specifiedname
.
-
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 theindex
is out of bounds.
-
readBoolean
Read the 'boolean
' value from column with given 'name
'.- Parameters:
name
- the fieldname
.- Returns:
- boolean containing the value from the specified
name
. - Throws:
IllegalArgumentException
- if a column with givenname
is not defined.
-
readBoolean
Read the 'boolean
' value at index 'index
'.- Parameters:
index
- the field index.trueValue
- the value that signifiestrue
; case-sensitive.- Returns:
- boolean containing the value from the specified
index
. - Throws:
IndexOutOfBoundsException
- if the index is out of bounds, or if the suppliedtrueValue
isnull
.
-
readBoolean
Read the 'boolean
' value from column with given 'name
'.- Parameters:
name
- the fieldname
.trueValue
- the value that signifiestrue
; case-sensitive.- Returns:
- boolean containing the value from the specified
name
. - Throws:
IllegalArgumentException
- if a column with givenname
is not defined, or if the suppliedtrueValue
isnull
.
-
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
Read the 'char
' value from column with given 'name
'.- Parameters:
name
- the fieldname
.- Returns:
- char containing the value from the specified
name
. - Throws:
IllegalArgumentException
- if a column with givenname
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
Read the 'byte
' value from column with given 'name
'.- Parameters:
name
- the fieldname
.- Returns:
- byte containing the value from the specified
name
.
-
readShort
short readShort(int index) Read the 'short
' value at index 'index
'.- Parameters:
index
- the fieldindex
.- Returns:
- short containing the value from the specified index.
- Throws:
IndexOutOfBoundsException
- if the index is out of bounds.
-
readShort
Read the 'short
' value from column with given 'name
'.- Parameters:
name
- the fieldname
.- Returns:
- short containing the value from the specified
name
. - Throws:
IllegalArgumentException
- if a column with givenname
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
Read the 'int
' value from column with given 'name
'.- Parameters:
name
- the fieldname
.- Returns:
- int containing the value from the specified
name
. - Throws:
IllegalArgumentException
- if a column with givenname
is not defined.
-
readInt
int readInt(int index, int defaultValue) Read the 'int
' value at index 'index
', using the supplieddefaultValue
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
Read the 'int
' value from column with given 'name
', using the supplieddefaultValue
if the field value is blank.- Parameters:
name
- the fieldname
.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 givenname
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
Read the 'long
' value from column with given 'name
'.- Parameters:
name
- the fieldname
.- Returns:
- long containing the value from the specified
name
. - Throws:
IllegalArgumentException
- if a column with givenname
is not defined.
-
readLong
long readLong(int index, long defaultValue) Read the 'long
' value at index 'index
', using the supplieddefaultValue
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
Read the 'long
' value from column with given 'name
', using the supplieddefaultValue
if the field value is blank.- Parameters:
name
- the fieldname
.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 givenname
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
Read the 'float
' value from column with given 'name
.- Parameters:
name
- the fieldname
.- Returns:
- float containing the value from the specified
name
. - Throws:
IllegalArgumentException
- if a column with givenname
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
Read the 'double
' value from column with given 'name
.- Parameters:
name
- the fieldname
.- Returns:
- double containing the value from the specified
name
. - Throws:
IllegalArgumentException
- if a column with givenname
is not defined.
-
readBigDecimal
Read theBigDecimal
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
Read theBigDecimal
value from column with given 'name
.- Parameters:
name
- the fieldname
.- Returns:
BigDecimal
containing the value from the specifiedname
.- Throws:
IllegalArgumentException
- if a column with givenname
is not defined.
-
readBigDecimal
Read theBigDecimal
value at index 'index
', returning the supplieddefaultValue
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
Read theBigDecimal
value from column with given 'name
, returning the supplieddefaultValue
if the trimmed string value at index 'index
' is blank.- Parameters:
name
- the fieldname
.defaultValue
- the default value to use if the field is blank- Returns:
BigDecimal
containing the value from the specifiedname
.- Throws:
IllegalArgumentException
- if a column with givenname
is not defined.
-
readDate
Read thejava.util.Date
value in default format at designated columnindex
.- 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 parseableNullPointerException
- if the value is empty
-
readDate
Read thejava.sql.Date
value in given format from column with givenname
.- Parameters:
name
- the fieldname
.- Returns:
Date
containing the value from the specifiedname
.- Throws:
IllegalArgumentException
- if a column with givenname
is not defined or if the value is not parseableNullPointerException
- if the value is empty
-
readDate
Read thejava.util.Date
value in default format at designated columnindex
.- 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 parseableNullPointerException
- if the value is empty
-
readDate
Read thejava.sql.Date
value in given format from column with givenname
.- Parameters:
name
- the fieldname
.defaultValue
- the default value to use if the field is blank- Returns:
Date
containing the value from the specifiedname
.- Throws:
IllegalArgumentException
- if a column with givenname
is not defined.
-
readDate
Read thejava.util.Date
value in default format at designated columnindex
.- 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
Read thejava.sql.Date
value in given format from column with givenname
.- Parameters:
name
- the fieldname
.pattern
- the pattern describing the date and time format- Returns:
Date
containing the value from the specifiedname
.- Throws:
IllegalArgumentException
- if a column with givenname
is not defined or if the specified field cannot be parsed
-
readDate
Read thejava.util.Date
value in default format at designated columnindex
.- Parameters:
index
- the field index.pattern
- the pattern describing the date and time formatdefaultValue
- 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
Read thejava.sql.Date
value in given format from column with givenname
.- Parameters:
name
- the fieldname
.pattern
- the pattern describing the date and time formatdefaultValue
- the default value to use if the field is blank- Returns:
Date
containing the value from the specifiedname
.- Throws:
IllegalArgumentException
- if a column with givenname
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.
-