BeanIO 2.0.4

org.beanio.internal.parser.format.flat
Class FlatFieldFormatSupport

java.lang.Object
  extended by org.beanio.internal.parser.format.flat.FlatFieldFormatSupport
All Implemented Interfaces:
FieldFormat, FlatFieldFormat
Direct Known Subclasses:
DelimitedFieldFormat, FixedLengthFieldFormat

public abstract class FlatFieldFormatSupport
extends Object
implements FlatFieldFormat

Base class for FlatFieldFormat implementations.

Since:
2.0
Author:
Kevin Seim

Constructor Summary
FlatFieldFormatSupport()
           
 
Method Summary
 String extract(UnmarshallingContext context, boolean reporting)
          Extracts the field text from a record.
protected abstract  String extractFieldText(UnmarshallingContext context, boolean reporting)
           
 String getName()
          Returns the field name.
 FieldPadding getPadding()
          Returns the field padding.
 int getPosition()
          Returns the field position.
 int getSize()
          Returns the size of the field.
 int getUntil()
           
 void insertField(MarshallingContext context, String text)
          Inserts field text into a record.
protected abstract  void insertFieldText(MarshallingContext context, String text, boolean commit)
           
 boolean insertValue(MarshallingContext context, Object value)
          Inserts a value into a record.
 boolean isLazy()
          TODO rename isLazy to something better?? Returns whether this field is optionally present in the record.
 boolean isNillable()
          Returns whether this field is nillable.
 void setLazy(boolean lazy)
           
 void setName(String name)
          Sets the field name.
 void setPadding(FieldPadding padding)
          Sets the field padding.
 void setPosition(int position)
           
 void setUntil(int until)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FlatFieldFormatSupport

public FlatFieldFormatSupport()
Method Detail

insertValue

public boolean insertValue(MarshallingContext context,
                           Object value)
Description copied from interface: FieldFormat
Inserts a value into a record. This method is called before type conversion. If the method returns false, type conversion is invoked and FieldFormat.insertField(MarshallingContext, String) is called. If the method returns true, FieldFormat.insertField(MarshallingContext, String) is not invoked.

Specified by:
insertValue in interface FieldFormat
Parameters:
context - the MarshallingContext
value - the value to insert into the record
Returns:
true if type conversion is required and FieldFormat.insertField(MarshallingContext, String) must be invoked, false otherwise

insertField

public void insertField(MarshallingContext context,
                        String text)
Inserts field text into a record.

Specified by:
insertField in interface FieldFormat
Parameters:
context - the MarshallingContext holding the record
text - the field text to insert into the record

insertFieldText

protected abstract void insertFieldText(MarshallingContext context,
                                        String text,
                                        boolean commit)

extract

public String extract(UnmarshallingContext context,
                      boolean reporting)
Description copied from interface: FieldFormat
Extracts the field text from a record. Returns null if the field was not present in the record.

May return Value.INVALID if the field is invalid, or Value.NIL if the field is explicitly set to nil or null such as in an XML or JSON formatted stream.

Implementations should also remove any field padding before returning the text.

Specified by:
extract in interface FieldFormat
Parameters:
context - the UnmarshallingContext holding the record
Returns:
the field text

extractFieldText

protected abstract String extractFieldText(UnmarshallingContext context,
                                           boolean reporting)

getName

public String getName()
Returns the field name.

Returns:
the field name

setName

public void setName(String name)
Sets the field name.

Parameters:
name - the field name

getPosition

public int getPosition()
Description copied from interface: FlatFieldFormat
Returns the field position.

In a delimited/CSV stream format, the position is the index of the field in the record starting at 0. For example, the position of field2 in the following comma delimited record is 1:

field1,field2,field3

In a fixed length stream format, the position is the index of the first character of the field in the record, also starting at 0. For example, the position of field2 in the following record is 6:

field1field2field3

Specified by:
getPosition in interface FlatFieldFormat
Returns:
the field position

setPosition

public void setPosition(int position)

getUntil

public int getUntil()

setUntil

public void setUntil(int until)

getSize

public int getSize()
Description copied from interface: FieldFormat
Returns the size of the field. Fixed length formats should return the field length, while other formats should simply return 1.

Specified by:
getSize in interface FieldFormat
Returns:
the size of the field

isNillable

public boolean isNillable()
Description copied from interface: FieldFormat
Returns whether this field is nillable.

Specified by:
isNillable in interface FieldFormat
Returns:
true if nillable, false otherwise

getPadding

public FieldPadding getPadding()
Returns the field padding.

Returns:
the FieldPadding

setPadding

public void setPadding(FieldPadding padding)
Sets the field padding.

Parameters:
padding - the FieldPadding

isLazy

public boolean isLazy()
Description copied from interface: FieldFormat
TODO rename isLazy to something better?? Returns whether this field is optionally present in the record.

Specified by:
isLazy in interface FieldFormat
Returns:
true if lazy, false otherwise

setLazy

public void setLazy(boolean lazy)

toString

public String toString()
Overrides:
toString in class Object

BeanIO 2.0.4

Copyright © 2010-2013 Kevin Seim