org.databene.benerator.dataset
Class AbstractDatasetGenerator<E>
java.lang.Object
org.databene.benerator.util.AbstractGenerator<P>
org.databene.benerator.wrapper.GeneratorWrapper<E,E>
org.databene.benerator.wrapper.GeneratorProxy<E>
org.databene.benerator.dataset.AbstractDatasetGenerator<E>
- All Implemented Interfaces:
- java.io.Closeable, DatasetBasedGenerator<E>, Generator<E>, org.databene.commons.Resettable, org.databene.commons.ThreadAware
- Direct Known Subclasses:
- CityGenerator, CompanyNameGenerator, CountryGenerator, WeightedDatasetCSVGenerator
public abstract class AbstractDatasetGenerator<E>
- extends GeneratorProxy<E>
- implements DatasetBasedGenerator<E>
Abstract implementation of the DatasetBasedGenerator
interface.
It is configured with 'nesting' and 'dataset'. Depending on the type of
the dataset (atomic or composite), it initializes a delegate instance
of a DatasetBasedGenerator
, either a CompositeDatasetGenerator
or an AtomicDatasetGenerator
. For the dfinition of custom
DatasetBasedGenerator
s, inherit from this class and implement
the abstract method createAtomicDatasetGenerator(Dataset, boolean)
.
All dataset recognition and handling and data generation will be handled
automatically.
Created: 10.03.2011 10:44:58
- Since:
- 0.6.6
- Author:
- Volker Bergmann
Constructor Summary |
AbstractDatasetGenerator(java.lang.Class<E> generatedType,
java.lang.String nesting,
java.lang.String datasetName,
boolean fallback)
|
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.databene.commons.ThreadAware |
isParallelizable, isThreadSafe |
Methods inherited from interface org.databene.commons.Resettable |
reset |
nesting
protected java.lang.String nesting
datasetName
protected java.lang.String datasetName
supportedDatasets
protected java.util.Set<java.lang.String> supportedDatasets
totalWeight
protected double totalWeight
fallback
protected boolean fallback
AbstractDatasetGenerator
public AbstractDatasetGenerator(java.lang.Class<E> generatedType,
java.lang.String nesting,
java.lang.String datasetName,
boolean fallback)
supportsDataset
public boolean supportsDataset(java.lang.String datasetName)
getNesting
public java.lang.String getNesting()
- Specified by:
getNesting
in interface DatasetBasedGenerator<E>
setNesting
public void setNesting(java.lang.String nesting)
getDataset
public java.lang.String getDataset()
- Specified by:
getDataset
in interface DatasetBasedGenerator<E>
setDataset
public void setDataset(java.lang.String datasetName)
getWeight
public double getWeight()
init
public void init(GeneratorContext context)
- Specified by:
init
in interface Generator<E>
- Overrides:
init
in class GeneratorWrapper<E,E>
generateForDataset
public E generateForDataset(java.lang.String requestedDataset)
- Specified by:
generateForDataset
in interface DatasetBasedGenerator<E>
randomDataset
public java.lang.String randomDataset()
createDatasetGenerator
protected WeightedDatasetGenerator<E> createDatasetGenerator(Dataset dataset,
boolean required,
boolean fallback)
isAtomic
protected boolean isAtomic(Dataset dataset)
createCompositeDatasetGenerator
protected CompositeDatasetGenerator<E> createCompositeDatasetGenerator(Dataset dataset,
boolean required,
boolean fallback)
createAtomicDatasetGenerator
protected AtomicDatasetGenerator<E> createAtomicDatasetGenerator(Dataset dataset,
boolean required)
createGeneratorForAtomicDataset
protected abstract WeightedGenerator<E> createGeneratorForAtomicDataset(Dataset dataset)
getSource
public DatasetBasedGenerator<E> getSource()
- Description copied from class:
GeneratorWrapper
- Returns the source generator
- Overrides:
getSource
in class GeneratorWrapper<E,E>
toString
public java.lang.String toString()
- Overrides:
toString
in class GeneratorProxy<E>
Copyright © 2013. All Rights Reserved.