org.joda.beans.impl
Class BasicBeanBuilder<T extends Bean>

java.lang.Object
  extended by org.joda.beans.impl.BasicBeanBuilder<T>
Type Parameters:
T - the bean type
All Implemented Interfaces:
BeanBuilder<T>
Direct Known Subclasses:
DirectBeanBuilder

public class BasicBeanBuilder<T extends Bean>
extends Object
implements BeanBuilder<T>

Basic implementation of BeanBuilder that wraps a real bean.

This approach saves creating a temporary map, but is only suitable if the bean has a no-arg constructor and allows properties to be set.


Constructor Summary
BasicBeanBuilder(T bean)
          Constructs the builder wrapping the target bean.
 
Method Summary
 T build()
          Builds the bean from the state of the builder.
 Object get(MetaProperty<?> metaProperty)
          Gets the value of a single property previously added to the builder.
 Object get(String propertyName)
          Gets the value of a single property previously added to the builder.
protected  T getTargetBean()
          Gets the target bean.
 BeanBuilder<T> set(MetaProperty<?> metaProperty, Object value)
          Sets the value of a single property into the builder.
 BeanBuilder<T> set(String propertyName, Object value)
          Sets the value of a single property into the builder.
 BeanBuilder<T> setAll(Map<String,? extends Object> propertyValueMap)
          Sets the value of a map of properties into the builder.
 BeanBuilder<T> setString(MetaProperty<?> metaProperty, String value)
          Sets the value of a single property into the builder.
 BeanBuilder<T> setString(String propertyName, String value)
          Sets the value of a single property into the builder.
 String toString()
          Returns a string that summarises the builder.
protected  void validate(T bean)
          Hook to allow a subclass to validate the bean.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BasicBeanBuilder

public BasicBeanBuilder(T bean)
Constructs the builder wrapping the target bean.

Parameters:
bean - the target bean, not null
Method Detail

getTargetBean

protected T getTargetBean()
Gets the target bean.

Returns:
the target bean, not null

get

public Object get(String propertyName)
Description copied from interface: BeanBuilder
Gets the value of a single property previously added to the builder.

Specified by:
get in interface BeanBuilder<T extends Bean>
Parameters:
propertyName - the property name to query, not null
Returns:
the previously set value, null if none

get

public Object get(MetaProperty<?> metaProperty)
Description copied from interface: BeanBuilder
Gets the value of a single property previously added to the builder.

Specified by:
get in interface BeanBuilder<T extends Bean>
Parameters:
metaProperty - the meta-property to query, not null
Returns:
the previously set value, null if none

set

public BeanBuilder<T> set(String propertyName,
                          Object value)
Description copied from interface: BeanBuilder
Sets the value of a single property into the builder.

This will normally behave as per a Map, however it may not and as a general rule callers should only set each property once.

Specified by:
set in interface BeanBuilder<T extends Bean>
Parameters:
propertyName - the property name to set, not null
value - the property value, may be null
Returns:
this, for chaining, not null

set

public BeanBuilder<T> set(MetaProperty<?> metaProperty,
                          Object value)
Description copied from interface: BeanBuilder
Sets the value of a single property into the builder.

This will normally behave as per a Map, however it may not and as a general rule callers should only set each property once.

Specified by:
set in interface BeanBuilder<T extends Bean>
Parameters:
metaProperty - the meta-property to set, not null
value - the property value, may be null
Returns:
this, for chaining, not null

setString

public BeanBuilder<T> setString(String propertyName,
                                String value)
Description copied from interface: BeanBuilder
Sets the value of a single property into the builder.

This converts the string to the correct type for the property. Conversion uses Joda-Convert.

This will normally behave as per a Map, however it may not and as a general rule callers should only set each property once.

Specified by:
setString in interface BeanBuilder<T extends Bean>
Parameters:
propertyName - the property name to set, not null
value - the property value, may be null
Returns:
this, for chaining, not null

setString

public BeanBuilder<T> setString(MetaProperty<?> metaProperty,
                                String value)
Description copied from interface: BeanBuilder
Sets the value of a single property into the builder.

This converts the string to the correct type for the property. Conversion uses Joda-Convert.

This will normally behave as per a Map, however it may not and as a general rule callers should only set each property once.

Specified by:
setString in interface BeanBuilder<T extends Bean>
Parameters:
metaProperty - the meta-property name to set, not null
value - the property value, may be null
Returns:
this, for chaining, not null

setAll

public BeanBuilder<T> setAll(Map<String,? extends Object> propertyValueMap)
Description copied from interface: BeanBuilder
Sets the value of a map of properties into the builder.

Each map entry is used as the input to BeanBuilder.set(String, Object).

This will normally behave as per a Map, however it may not and as a general rule callers should only set each property once.

Specified by:
setAll in interface BeanBuilder<T extends Bean>
Parameters:
propertyValueMap - the property name to value map, not null
Returns:
this, for chaining, not null

build

public T build()
Description copied from interface: BeanBuilder
Builds the bean from the state of the builder.

Once this method has been called, the builder is in an invalid state. The effect of further method calls is undetermined.

Specified by:
build in interface BeanBuilder<T extends Bean>
Returns:
the created bean, not null

validate

protected void validate(T bean)
Hook to allow a subclass to validate the bean.

Parameters:
bean - the bean to validate, not null

toString

public String toString()
Returns a string that summarises the builder.

Overrides:
toString in class Object
Returns:
a summary string, not null


Copyright © 2007–2014 Joda.org. All rights reserved.