public abstract class GeneratorBase<Base extends GeneratorBase<Base,Context>,Context extends GeneratorContext<Context>> extends Object
| Constructor and Description |
|---|
GeneratorBase()
Default generator context.
|
GeneratorBase(io.codearte.jfairy.Fairy fairy,
Random random) |
GeneratorBase(io.codearte.jfairy.Fairy fairy,
Random random,
double defaultFillRate,
int defaultMaxCollectionSize) |
GeneratorBase(GeneratorBase<Base,Context> copyOf)
Copy constructor.
|
| Modifier and Type | Method and Description |
|---|---|
abstract Context |
createContext()
Create the context instance used when generating messages.
|
protected Base |
deepCopy() |
<E extends PEnumValue<E>> |
enumGeneratorFor(PEnumDescriptor<E> descriptor) |
<T> Generator<Context,T> |
generatorFor(PDescriptor type) |
double |
getDefaultFillRate() |
int |
getDefaultMaxCollectionSize() |
io.codearte.jfairy.Fairy |
getFairy() |
Random |
getRandom() |
<M extends PMessage<M,F>,F extends PField> |
messageGeneratorFor(PMessageDescriptor<M,F> descriptor)
Get the default generator for type, or create one if it does not exists.
|
Base |
setDefaultFillRate(double defaultFillRate) |
Base |
setDefaultMaxCollectionSize(int defaultMaxCollectionSize) |
Base |
setFairy(io.codearte.jfairy.Fairy fairy) |
Base |
setRandom(Random random) |
<E extends PEnumValue<E>> |
withEnumGenerator(PEnumDescriptor<E> descriptor,
Generator<Context,E> generator)
Set the default enum generator for the enum type.
|
<M extends PMessage<M,F>,F extends PField> |
withMessageGenerator(PMessageDescriptor<M,F> descriptor,
Consumer<MessageGenerator<Context,M,F>> closure)
Get the default message generator for the given message type, and
apply the closure context on that.
|
<M extends PMessage<M,F>,F extends PField> |
withMessageGenerator(PMessageDescriptor<M,F> descriptor,
MessageGenerator<Context,M,F> generator)
Set the default message generator for the message type.
|
public GeneratorBase()
public GeneratorBase(io.codearte.jfairy.Fairy fairy,
Random random)
fairy - Fairy instance.random - Random instance.public GeneratorBase(io.codearte.jfairy.Fairy fairy,
Random random,
double defaultFillRate,
int defaultMaxCollectionSize)
fairy - Fairy instance.random - Random instance.defaultFillRate - The default fill rate.defaultMaxCollectionSize - The max collection size.public GeneratorBase(GeneratorBase<Base,Context> copyOf)
copyOf - Instance to make copy of.public abstract Context createContext()
@Nonnull public <T> Generator<Context,T> generatorFor(@Nonnull PDescriptor type)
@Nonnull public <E extends PEnumValue<E>> Generator<Context,E> enumGeneratorFor(PEnumDescriptor<E> descriptor)
@Nonnull public <M extends PMessage<M,F>,F extends PField> MessageGenerator<Context,M,F> messageGeneratorFor(PMessageDescriptor<M,F> descriptor)
M - The message type.F - The message field type.descriptor - The message descriptor.@Nonnull public <E extends PEnumValue<E>> Base withEnumGenerator(PEnumDescriptor<E> descriptor, Generator<Context,E> generator)
E - The enum type.descriptor - The enum descriptor.generator - The enum value generator.@Nonnull public <M extends PMessage<M,F>,F extends PField> Base withMessageGenerator(PMessageDescriptor<M,F> descriptor, MessageGenerator<Context,M,F> generator)
M - The message type.F - The message field type.descriptor - The message descriptor.generator - The message value generator.@Nonnull public <M extends PMessage<M,F>,F extends PField> Base withMessageGenerator(PMessageDescriptor<M,F> descriptor, Consumer<MessageGenerator<Context,M,F>> closure)
M - The message type.F - the message field type.descriptor - The message descriptor.closure - The closure working on the generator.@Nonnull public io.codearte.jfairy.Fairy getFairy()
@Nonnull public Base setFairy(io.codearte.jfairy.Fairy fairy)
fairy - The new fairy instance.@Nonnull public Base setRandom(Random random)
random - The new random instance.public int getDefaultMaxCollectionSize()
@Nonnull public Base setDefaultMaxCollectionSize(int defaultMaxCollectionSize)
defaultMaxCollectionSize - The new default max collection size.public double getDefaultFillRate()
@Nonnull public Base setDefaultFillRate(double defaultFillRate)
defaultFillRate - The new default fill rate.protected Base deepCopy()
Copyright © 2015–2018 morimekta.net. All rights reserved.