org.databene.benerator
Interface Generator<E>
- All Superinterfaces:
- java.io.Closeable, org.databene.commons.Resettable, org.databene.commons.ThreadAware
- All Known Subinterfaces:
- DatasetBasedGenerator<E>, NonNullGenerator<E>, VarLengthStringGenerator, WeightedDatasetGenerator<E>, WeightedGenerator<E>
- All Known Implementing Classes:
- AbstractBigDecimalGenerator, AbstractBigIntegerGenerator, AbstractDatasetGenerator, AbstractGenerator, AbstractNonNullGenerator, AbstractNonNullNumberGenerator, AbstractSampleGenerator, AbstractSequenceGenerator, AcademicTitleGenerator, AccessingGenerator, AddressGenerator, AlternativeGenerator, AsBigDecimalGeneratorWrapper, AsBigIntegerGeneratorWrapper, AsByteGeneratorWrapper, AsDoubleGeneratorWrapper, AsFloatGeneratorWrapper, AsIntegerGeneratorWrapper, AsLongGeneratorWrapper, AsNonNullGenerator, AsShortGeneratorWrapper, AsStringGenerator, AtomicDatasetGenerator, AttachedWeightSampleGenerator, BankAccountGenerator, BankGenerator, BinaryFileContentGenerator, BirthDateGenerator, BitReverseLongGenerator, BitReverseNaturalNumberGenerator, BlankArrayGenerator, BlankEntityGenerator, BooleanGenerator, ByteArrayGenerator, CachedSequenceGenerator, CardinalGenerator, CharacterGenerator, CityGenerator, CNPJGenerator, CollectionGenerator, CompanyDomainGenerator, CompanyNameGenerator, CompositeDatasetGenerator, CompositeGenerator, CompositeStringGenerator, ConcatenatingGenerator, ConstantGenerator, ConvertingGenerator, CountryGenerator, CPFGenerator, CreditCardNumberGenerator, CumulatedDoubleGenerator, CumulatedLongGenerator, CumulativeDistributionFunction.IPINumberGenerator, CurrentDateGenerator, CurrentDateTimeGenerator, CurrentMilliTimeGenerator, CurrentNanoTimeGenerator, CurrentTimeGenerator, CyclicGeneratorProxy, DataSourceGenerator, DateGenerator, DateTimeGenerator, DayGenerator, DBSeqHiLoGenerator, DBSequenceGenerator, DepartmentNameGenerator, DescriptorBasedGenerator, DistributingGenerator, DomainGenerator, DynamicCountGenerator, DynamicLongGenerator, EAN13Generator, EAN8Generator, EANGenerator, EMailAddressGenerator, EquivalenceStringGenerator, ExpandGeneratorProxy, ExpressionBasedGenerator, FamilyNameGenerator, FibonacciLongGenerator, FileContentGenerator, FileGenerator, FileNameGenerator, FilteringGenerator, GenderGenerator, GeneratorChain, GeneratorProxy, GeneratorWrapper, GivenNameGenerator, HibUUIDGenerator, HiLoGenerator, IncrementalIdGenerator, IncrementalIntsGenerator, IncrementalStringGenerator, IncrementGenerator, IndexBasedSampleGeneratorProxy, IndividualWeightSampleGenerator, IteratingGenerator, LastFlagGenerator, LastProductDetector, LegalFormGenerator, LengthGenerator, LocalCSVGenerator, LocalSequenceGenerator, LongGenerator, LuhnGenerator, MessageGenerator, MobileNumberGenerator, MultiGeneratorWrapper, MultiSourceArrayGenerator, NobilityTitleGenerator, NonClosingGeneratorProxy, NonNullGeneratorProxy, NonNullGeneratorWrapper, NonNullSampleGenerator, NounGenerator, NShotGeneratorProxy, NullInjectingGeneratorProxy, NullStartingGenerator, OffsetBasedGenerator, OneShotGenerator, PadovanLongGenerator, PersonGenerator, PhoneNumberGenerator, PlainSequenceGenerator, PredefinedSequenceGenerator, QueryGenerator, QueryHiLoGenerator, QueryLongGenerator, RandomBigDecimalGenerator, RandomBigIntegerGenerator, RandomDomainGenerator, RandomDoubleGenerator, RandomIntegerGenerator, RandomLongGenerator, RandomVarLengthStringGenerator, RandomWalkDoubleGenerator, RandomWalkLongGenerator, RecurrenceRelationNumberGenerator, RegexStringGenerator, RepeatGeneratorProxy, SampleGenerator, ScriptGenerator, SectorGenerator, SeedGenerator, SeedSentenceGenerator, SeedWordGenerator, SequencedCSVSampleGenerator, SequencedDatasetCSVGenerator, SequenceGenerator, SequenceTableGenerator, SharedGenerator, ShuffleDoubleGenerator, ShuffleLongGenerator, SimpleMultiSourceArrayGenerator, SimpleTypeEntityGenerator, SimplifyingSingleSourceArrayGenerator, SingleSourceArrayGenerator, SingleSourceCollectionGenerator, SkipGeneratorProxy, SourceAwareGenerator, SSNGenerator, StateGenerator, StateTransitionGenerator, StepDoubleGenerator, StepLongGenerator, StreetNameGenerator, StringGenerator, SynchronizedGeneratorProxy, TaskBasedGenerator, TextFileContentGenerator, ThreadSafeGenerator, ThreadSafeNonNullGenerator, TINGenerator, TokenCombiner, TokenCombiner.SimpleTokenCombinator, TopLevelDomainGenerator, UniqueFixedLengthStringGenerator, UniqueIntsGenerator, UniqueMultiSourceArrayGenerator, UniqueScrambledStringGenerator, UnsafeGenerator, UnsafeMethodParamsGenerator, UnsafeNonNullGenerator, UUIDGenerator, ValidatingGenerator, ValidatingGeneratorProxy, WebmailDomainGenerator, WedgeDoubleGenerator, WedgeLongGenerator, WeighingGeneratorWrapper, WeightedCSVSampleGenerator, WeightedDatasetCSVGenerator, WeightedDoubleGenerator, WeightedGeneratorGenerator, WeightedLongGenerator, WeigthedLiteralGenerator, XMLFileGenerator
public interface Generator<E>
- extends org.databene.commons.ThreadAware, org.databene.commons.Resettable, java.io.Closeable
This is the basic Generator interface, the mother of all generators.
Generator States
A Generator may be in one of three states:
- constructing: The generator is under construction.
This may take several steps, since generators need to be JavaBeans.
The generator may transit into the available state automatically
or manually when the validate() method is called.
- available: Generator construction is done and the generator is available.
The user may loop the Generator via generate().
- unavailable: The Generator may become unavailable automatically if its value space is depleted or
manually when close() has been invoked. The Generator may be made available again by calling reset().
When unavailable, the generator must be in a state in which it can be safely garbage collected.
Developer Notes:
When implementing a custom generator, you should make it a JavaBean:
- Implement a public default (no-arg) constructor
- make each relevant property configurable by a set-method
Created: 07.06.2006 18:51:28
- Since:
- 0.1
- Author:
- Volker Bergmann
Methods inherited from interface org.databene.commons.ThreadAware |
isParallelizable, isThreadSafe |
Methods inherited from interface org.databene.commons.Resettable |
reset |
getGeneratedType
java.lang.Class<E> getGeneratedType()
- Declares the type of the objects returned by the generate() method.
init
void init(GeneratorContext context)
wasInitialized
boolean wasInitialized()
generate
ProductWrapper<E> generate(ProductWrapper<E> wrapper)
- Returns an instance of the generic type E, using the
ProductWrapper
instance provided as argument.
The wrapper may wrap a null value as a regular generator product.
If the generator is not available (any more), it returns null instead of
the ProductWrapper instance.
close
void close()
- Closes the generator. After invocation the state is unavailable.
- Specified by:
close
in interface java.io.Closeable
Copyright © 2013. All Rights Reserved.