BeanIO 2.0.4

org.beanio.internal.parser
Interface Property

All Known Implementing Classes:
Aggregation, ArrayParser, Bean, CollectionBean, CollectionParser, Constant, Field, MapParser, PropertyComponent, RecordAggregation, RecordArray, RecordCollection, RecordMap

public interface Property

The Property interface is implemented by parser components capable of storing a property value.

Since:
2.0
Author:
Kevin Seim

Field Summary
static int AGGREGATION_ARRAY
          The array property type
static int AGGREGATION_COLLECTION
          The collection property type used to aggregate multiple occurrences of a single property
static int AGGREGATION_MAP
          The map property type used to aggregate multiple occurrences of key/value pairs
static int COLLECTION
          The collection property type used to create a collection of other properties
static int COMPLEX
          The bean object property type with simple properties and other bean objects for attributes
static int MAP
          The map property type
static int SIMPLE
          The simple property type that cannot hold other properties
 
Method Summary
 void clearValue(ParsingContext context)
          Clears the property value.
 Object createValue(ParsingContext context)
          Creates the property value and returns it.
 boolean defines(Object value)
           
 PropertyAccessor getAccessor()
           
 String getName()
          Returns the property name as configured in the mapping file.
 Class<?> getType()
           
 Object getValue(ParsingContext context)
          Returns the value of this property.
 boolean isIdentifier()
          Returns whether this property or any of its descendants are used to identify a bean object.
 void setAccessor(PropertyAccessor accessor)
           
 void setIdentifier(boolean identifier)
           
 void setType(Class<?> type)
           
 void setValue(ParsingContext context, Object value)
          Sets the property value (before marshalling).
 int type()
          Returns the property type.
 

Field Detail

SIMPLE

static final int SIMPLE
The simple property type that cannot hold other properties

See Also:
Constant Field Values

COMPLEX

static final int COMPLEX
The bean object property type with simple properties and other bean objects for attributes

See Also:
Constant Field Values

COLLECTION

static final int COLLECTION
The collection property type used to create a collection of other properties

See Also:
Constant Field Values

MAP

static final int MAP
The map property type

See Also:
Constant Field Values

AGGREGATION_ARRAY

static final int AGGREGATION_ARRAY
The array property type

See Also:
Constant Field Values

AGGREGATION_COLLECTION

static final int AGGREGATION_COLLECTION
The collection property type used to aggregate multiple occurrences of a single property

See Also:
Constant Field Values

AGGREGATION_MAP

static final int AGGREGATION_MAP
The map property type used to aggregate multiple occurrences of key/value pairs

See Also:
Constant Field Values
Method Detail

type

int type()
Returns the property type.

Returns:
SIMPLE, COMPLEX, AGGREGATION_ARRAY, COLLECTION, AGGREGATION_COLLECTION, or MAP

getName

String getName()
Returns the property name as configured in the mapping file. The returned property name is used only for error messages and does not necessarily match the attribute name of a parent bean.

Returns:
the property name

clearValue

void clearValue(ParsingContext context)
Clears the property value. A subsequent call to getValue(ParsingContext) should return null, or Value.MISSING for lazy property values.

Parameters:
context - the ParsingContext

createValue

Object createValue(ParsingContext context)
Creates the property value and returns it.

Parameters:
context - the ParsingContext
Returns:
the property value

getValue

Object getValue(ParsingContext context)
Returns the value of this property.

When unmarshalling, this method should return Value.MISSING if the field was not present in the stream. Or if present, but has no value, null should be returned.

When marshalling, this method should return Value.MISSING for any optional segment bound to a bean object, or null if required. Null field properties should always return Value.MISSING.

Parameters:
context - the ParsingContext
Returns:
the property value, or Value.MISSING if not present in the stream, or Value.INVALID if the field was invalid

setValue

void setValue(ParsingContext context,
              Object value)
Sets the property value (before marshalling).

Parameters:
context - the ParsingContext
value - the property value

defines

boolean defines(Object value)

isIdentifier

boolean isIdentifier()
Returns whether this property or any of its descendants are used to identify a bean object.

Returns:
true if this property identifies a bean

setIdentifier

void setIdentifier(boolean identifier)

getAccessor

PropertyAccessor getAccessor()

setAccessor

void setAccessor(PropertyAccessor accessor)

getType

Class<?> getType()

setType

void setType(Class<?> type)

BeanIO 2.0.4

Copyright © 2010-2013 Kevin Seim