org.progeeks.tool.gen
Class GenGroupGenerator

java.lang.Object
  extended by org.progeeks.tool.gen.BaseDataGenerator
      extended by org.progeeks.tool.gen.GroupMemberGenerator
          extended by org.progeeks.tool.gen.GenGroupGenerator
All Implemented Interfaces:
DataGenerator

public class GenGroupGenerator
extends GroupMemberGenerator

Takes a list of DataGenerators rather than specific objects to return. Selects a generator from the List and invokes generateData on it. This capability is useful if the property to which a GroupMemberGenerator applies can contain values from a set of separate ranges, or from a variety of subclasses, etc.

Important: If any of the member generators allow null to be generated, then the GenGroupGenerator should also allow null or else the isDataValid method may erroneously return false. You can set the nullPercentage to 0.0 if you don't want the main generator to ever actually create a null.

Version:
$Revision: 1.4 $
Author:
esword

Field Summary
protected static Log log
           
 
Fields inherited from class org.progeeks.tool.gen.GroupMemberGenerator
members
 
Fields inherited from class org.progeeks.tool.gen.BaseDataGenerator
allowNull, nullPercentage
 
Constructor Summary
GenGroupGenerator()
           
 
Method Summary
protected  java.lang.Object generateRealData(DataGeneratorContext context)
          Get an item from the members set and invoke its generateData method.
 void setMembers(java.util.Collection members)
           
protected  boolean testData(java.lang.Object testItem, DataGeneratorContext context)
          Iterate over the members and see if any of them say that the data is valid.
 
Methods inherited from class org.progeeks.tool.gen.GroupMemberGenerator
getMembers
 
Methods inherited from class org.progeeks.tool.gen.BaseDataGenerator
generateData, getAllowNull, getDataClass, getDataClazz, getEnforceResolvable, getNullPercentage, isDataValid, setAllowNull, setDataClass, setEnforceResolvable, setNullPercentage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static final Log log
Constructor Detail

GenGroupGenerator

public GenGroupGenerator()
Method Detail

generateRealData

protected java.lang.Object generateRealData(DataGeneratorContext context)
Get an item from the members set and invoke its generateData method.

Overrides:
generateRealData in class GroupMemberGenerator

testData

protected boolean testData(java.lang.Object testItem,
                           DataGeneratorContext context)
Iterate over the members and see if any of them say that the data is valid.

Overrides:
testData in class GroupMemberGenerator

setMembers

public void setMembers(java.util.Collection members)
Overrides:
setMembers in class GroupMemberGenerator
Parameters:
members - The members to set. A copy of the collection is made.


Copyright © 2002-2003 Paul Speed. All Rights Reserved.