Package org.instancio.generator.util
Class MapGenerator<K,V>
- java.lang.Object
-
- org.instancio.generator.AbstractGenerator<Map<K,V>>
-
- org.instancio.generator.util.MapGenerator<K,V>
-
- All Implemented Interfaces:
Generator<Map<K,V>>
,GeneratorSpec<Map<K,V>>
,MapGeneratorSpec<K,V>
- Direct Known Subclasses:
ConcurrentHashMapGenerator
,ConcurrentSkipListMapGenerator
,MapGeneratorSpecImpl
,TreeMapGenerator
public class MapGenerator<K,V> extends AbstractGenerator<Map<K,V>> implements MapGeneratorSpec<K,V>
-
-
Field Summary
Fields Modifier and Type Field Description protected int
maxSize
protected int
minSize
protected boolean
nullable
protected boolean
nullableKeys
protected boolean
nullableValues
protected Class<?>
type
-
Constructor Summary
Constructors Constructor Description MapGenerator(GeneratorContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<K,V>
generate(RandomProvider random)
Returns a generated value.GeneratedHints
getHints()
Returns hints, including collection sizes and whether values are nullable.MapGeneratorSpec<K,V>
maxSize(int size)
Maximum size of map to generate.MapGeneratorSpec<K,V>
minSize(int size)
Minimum size of map to generate.MapGeneratorSpec<K,V>
nullable()
Indicates thatnull
value can be generated for the map.MapGeneratorSpec<K,V>
nullableKeys()
Indicates thatnull
values can be generated for map keys.MapGeneratorSpec<K,V>
nullableValues()
Indicates thatnull
values can be generated for map values.MapGeneratorSpec<K,V>
size(int size)
Size of map to generate.MapGeneratorSpec<K,V>
type(Class<?> type)
Specifies the type of map that should be generated.-
Methods inherited from class org.instancio.generator.AbstractGenerator
getContext
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.instancio.Generator
apiMethodName, isDelegating, setDelegate, supports, targetClass
-
-
-
-
Field Detail
-
minSize
protected int minSize
-
maxSize
protected int maxSize
-
nullable
protected boolean nullable
-
nullableKeys
protected boolean nullableKeys
-
nullableValues
protected boolean nullableValues
-
type
protected Class<?> type
-
-
Constructor Detail
-
MapGenerator
public MapGenerator(GeneratorContext context)
-
-
Method Detail
-
type
public MapGeneratorSpec<K,V> type(Class<?> type)
Description copied from interface:MapGeneratorSpec
Specifies the type of map that should be generated.- Specified by:
type
in interfaceMapGeneratorSpec<K,V>
- Parameters:
type
- of collection to generate- Returns:
- spec builder
-
size
public MapGeneratorSpec<K,V> size(int size)
Description copied from interface:MapGeneratorSpec
Size of map to generate.- Specified by:
size
in interfaceMapGeneratorSpec<K,V>
- Parameters:
size
- of map- Returns:
- spec builder
-
minSize
public MapGeneratorSpec<K,V> minSize(int size)
Description copied from interface:MapGeneratorSpec
Minimum size of map to generate.- Specified by:
minSize
in interfaceMapGeneratorSpec<K,V>
- Parameters:
size
- minimum size (inclusive)- Returns:
- spec builder
-
maxSize
public MapGeneratorSpec<K,V> maxSize(int size)
Description copied from interface:MapGeneratorSpec
Maximum size of map to generate.- Specified by:
maxSize
in interfaceMapGeneratorSpec<K,V>
- Parameters:
size
- maximum size (inclusive)- Returns:
- spec builder
-
nullable
public MapGeneratorSpec<K,V> nullable()
Description copied from interface:MapGeneratorSpec
Indicates thatnull
value can be generated for the map.- Specified by:
nullable
in interfaceMapGeneratorSpec<K,V>
- Returns:
- spec builder
-
nullableKeys
public MapGeneratorSpec<K,V> nullableKeys()
Description copied from interface:MapGeneratorSpec
Indicates thatnull
values can be generated for map keys.- Specified by:
nullableKeys
in interfaceMapGeneratorSpec<K,V>
- Returns:
- spec builder
-
nullableValues
public MapGeneratorSpec<K,V> nullableValues()
Description copied from interface:MapGeneratorSpec
Indicates thatnull
values can be generated for map values.- Specified by:
nullableValues
in interfaceMapGeneratorSpec<K,V>
- Returns:
- spec builder
-
generate
public Map<K,V> generate(RandomProvider random)
Description copied from interface:Generator
Returns a generated value.If the generated value is random, it needs to be generated using the given
RandomProvider
instance. This ensures the data is generated with the same seed value and allows random data to be reproduced by specifying the seed value.
-
getHints
public GeneratedHints getHints()
Description copied from interface:Generator
Returns hints, including collection sizes and whether values are nullable.
-
-