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

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

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

Implementation of BeanBuilder that buffers data in a local map.

This is useful for cases where the builder data might be manipulated before the final build. The buffer can be directly mutated.


Constructor Summary
BufferingBeanBuilder(MetaBean metaBean)
          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 buffered value associated with the specified property name.
 Object get(String propertyName)
          Gets the buffered value associated with the specified property name.
 ConcurrentMap<MetaProperty<?>,Object> getBuffer()
          Gets the buffer holding the state of the builder.
 MetaBean getMetaBean()
          Gets the meta-beans.
static BufferingBeanBuilder<?> of(MetaBean metaBean)
          Constructs the builder wrapping 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BufferingBeanBuilder

public BufferingBeanBuilder(MetaBean metaBean)
Constructs the builder wrapping the target bean.

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

of

public static BufferingBeanBuilder<?> of(MetaBean metaBean)
Constructs the builder wrapping the target bean.

Parameters:
metaBean - the target meta-bean, not null
Returns:
a new untyped builder, not null

getMetaBean

public MetaBean getMetaBean()
Gets the meta-beans.

Returns:
the meta-bean, not null

getBuffer

public ConcurrentMap<MetaProperty<?>,Object> getBuffer()
Gets the buffer holding the state of the builder.

The buffer may be mutated.

Returns:
the mutable buffer, not null

get

public Object get(String propertyName)
Gets the buffered value associated with the specified property name.

Specified by:
get in interface BeanBuilder<T extends Bean>
Parameters:
propertyName - the property name, not null
Returns:
the current value in the builder, null if not found or value is null

get

public Object get(MetaProperty<?> metaProperty)
Gets the buffered value associated with the specified property name.

Specified by:
get in interface BeanBuilder<T extends Bean>
Parameters:
metaProperty - the meta-property, not null
Returns:
the current value in the builder, null if not found or value is null

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

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.