net.sf.adatagenerator.modifiers
Class RandomBeanFieldModifier<F,R>

java.lang.Object
  extended by net.sf.adatagenerator.modifiers.RandomBeanFieldModifier<F,R>
All Implemented Interfaces:
Comparable<NamedInstance>, BeanModifier<R>, NamedInstance

public class RandomBeanFieldModifier<F,R>
extends Object
implements BeanModifier<R>


Field Summary
protected static Logger logger
           
 
Constructor Summary
RandomBeanFieldModifier(Class<R> beanClass, String fieldNameStem, Iterable<ValueModifier<F>> valueModifiers)
           
RandomBeanFieldModifier(String name, String context, Class<R> beanClass, String fieldNameStem, Iterable<ValueModifier<F>> valueModifiers)
           
RandomBeanFieldModifier(String name, String context, String fieldNameStem, Method fieldAccessor, Method fieldMutator, Iterable<ValueModifier<F>> valueModifiers)
           
 
Method Summary
 int compareContexts(NamedInstance namedInstance)
          Compares the context of this instance to the context of another instance using the context comparator of this instance.
 int compareTo(NamedInstance namedInstance)
          Compares this instance to another instance using the comparator of this instance.
 String getContext()
          The context in which this instance is named.
 Comparator<String> getContextComparator()
           
protected  Method getFieldAccessor()
           
protected  Method getFieldMutator()
           
 String getFieldNameStem()
           
 String getName()
          Implementing classes should return a name that will be comparable within some context
protected  NamedInstance getNameDelegate()
           
 Comparator<NamedInstance> getNamedInstanceComparator()
           
protected  Iterable<ValueModifier<F>> getValueModifiers()
           
 R modifyBean(R target)
          Modifies the specified bean.
static
<F,R> R
modifyBean(String fieldNameStem, Method fieldAccessor, Method fieldMutator, Iterable<ValueModifier<F>> valueModifiers, R target)
           
protected static
<F,R> R
modifyBeanInternal(String fieldNameStem, Method fieldAccessor, Method fieldMutator, Iterable<ValueModifier<F>> valueModifiers, R target)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected static Logger logger
Constructor Detail

RandomBeanFieldModifier

public RandomBeanFieldModifier(Class<R> beanClass,
                               String fieldNameStem,
                               Iterable<ValueModifier<F>> valueModifiers)

RandomBeanFieldModifier

public RandomBeanFieldModifier(String name,
                               String context,
                               Class<R> beanClass,
                               String fieldNameStem,
                               Iterable<ValueModifier<F>> valueModifiers)

RandomBeanFieldModifier

public RandomBeanFieldModifier(String name,
                               String context,
                               String fieldNameStem,
                               Method fieldAccessor,
                               Method fieldMutator,
                               Iterable<ValueModifier<F>> valueModifiers)
Method Detail

getNameDelegate

protected NamedInstance getNameDelegate()

getFieldAccessor

protected Method getFieldAccessor()

getFieldMutator

protected Method getFieldMutator()

getFieldNameStem

public String getFieldNameStem()

getValueModifiers

protected Iterable<ValueModifier<F>> getValueModifiers()

modifyBean

public R modifyBean(R target)
             throws ModificationException
Description copied from interface: BeanModifier
Modifies the specified bean.

Specified by:
modifyBean in interface BeanModifier<R>
Parameters:
target - the object to modify
Returns:
the modified target (or a modified copy of the target)
Throws:
ModificationException - if modification fails

modifyBean

public static <F,R> R modifyBean(String fieldNameStem,
                                 Method fieldAccessor,
                                 Method fieldMutator,
                                 Iterable<ValueModifier<F>> valueModifiers,
                                 R target)
                    throws ModificationException
Throws:
ModificationException

modifyBeanInternal

protected static <F,R> R modifyBeanInternal(String fieldNameStem,
                                            Method fieldAccessor,
                                            Method fieldMutator,
                                            Iterable<ValueModifier<F>> valueModifiers,
                                            R target)
                               throws ModificationException
Throws:
ModificationException

getName

public String getName()
Description copied from interface: NamedInstance
Implementing classes should return a name that will be comparable within some context

Specified by:
getName in interface NamedInstance
Returns:
a value that identifies an instance in some context. This parameter may be null for an anonymous instance, but if it is non-null, the value will be a trimmed String

getContext

public String getContext()
Description copied from interface: NamedInstance
The context in which this instance is named. If another instance has different context from this instance, then implementing classes should ensure that NamedInstance.compareTo(NamedInstance) returns the same (non-zero) value that is the result of comparing the contexts.

Specified by:
getContext in interface NamedInstance
Returns:
may be null if the context is implicit and well understood, and trimmed otherwise

compareContexts

public int compareContexts(NamedInstance namedInstance)
Description copied from interface: NamedInstance
Compares the context of this instance to the context of another instance using the context comparator of this instance.

Specified by:
compareContexts in interface NamedInstance

getContextComparator

public Comparator<String> getContextComparator()
Specified by:
getContextComparator in interface NamedInstance

compareTo

public int compareTo(NamedInstance namedInstance)
Description copied from interface: NamedInstance
Compares this instance to another instance using the comparator of this instance.

Specified by:
compareTo in interface Comparable<NamedInstance>
Specified by:
compareTo in interface NamedInstance

getNamedInstanceComparator

public Comparator<NamedInstance> getNamedInstanceComparator()
Specified by:
getNamedInstanceComparator in interface NamedInstance


Copyright © 2011-2012. All Rights Reserved.