org.simantics.databoard.binding.util
Class RandomValue

java.lang.Object
  extended by org.simantics.databoard.binding.util.RandomValue
All Implemented Interfaces:
Binding.Visitor<java.lang.Object>

public class RandomValue
extends java.lang.Object
implements Binding.Visitor<java.lang.Object>

Visitor that creates a instance with random value. This visitor may throw RuntimeBindingException. Type Value ------------------------------------------------------ Boolean false/true Byte, Integer, Long value between limits Float, Double 0..1 if no range, otherwise a valid value in range String random string of length [0..1024] Optional novalue / random value Union random tag / random value Record each field with random value Array random elements between 0..1024 unless lower bound is higher Map 0..1024 random entries with random keys and value Variant random type (excluding variant) with random value TODO Create String according to the pattern

Author:
Toni Kalajainen

Field Summary
 java.util.Random random
           
 boolean refereableRecords
           
 
Constructor Summary
RandomValue()
           
RandomValue(int seed)
           
RandomValue(java.util.Random random)
           
 
Method Summary
 java.util.Random getRandom()
           
 Datatype randomType(int depth, int maxDepth)
           
 java.lang.Object visit(ArrayBinding b)
           
 java.lang.Object visit(BooleanBinding b)
           
 java.lang.Object visit(ByteBinding b)
           
 java.lang.Object visit(DoubleBinding b)
           
 java.lang.Object visit(FloatBinding b)
           
 java.lang.Object visit(IntegerBinding b)
           
 java.lang.Object visit(LongBinding b)
           
 java.lang.Object visit(MapBinding b)
           
 java.lang.Object visit(OptionalBinding b)
           
 java.lang.Object visit(RecordBinding b)
           
 java.lang.Object visit(StringBinding b)
           
 java.lang.Object visit(UnionBinding b)
           
 java.lang.Object visit(VariantBinding b)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

refereableRecords

public boolean refereableRecords

random

public java.util.Random random
Constructor Detail

RandomValue

public RandomValue()

RandomValue

public RandomValue(java.util.Random random)

RandomValue

public RandomValue(int seed)
Method Detail

getRandom

public java.util.Random getRandom()

visit

public java.lang.Object visit(ArrayBinding b)
Specified by:
visit in interface Binding.Visitor<java.lang.Object>

visit

public java.lang.Object visit(BooleanBinding b)
Specified by:
visit in interface Binding.Visitor<java.lang.Object>

visit

public java.lang.Object visit(DoubleBinding b)
Specified by:
visit in interface Binding.Visitor<java.lang.Object>

visit

public java.lang.Object visit(FloatBinding b)
Specified by:
visit in interface Binding.Visitor<java.lang.Object>

visit

public java.lang.Object visit(IntegerBinding b)
Specified by:
visit in interface Binding.Visitor<java.lang.Object>

visit

public java.lang.Object visit(ByteBinding b)
Specified by:
visit in interface Binding.Visitor<java.lang.Object>

visit

public java.lang.Object visit(LongBinding b)
Specified by:
visit in interface Binding.Visitor<java.lang.Object>

visit

public java.lang.Object visit(OptionalBinding b)
Specified by:
visit in interface Binding.Visitor<java.lang.Object>

visit

public java.lang.Object visit(RecordBinding b)
Specified by:
visit in interface Binding.Visitor<java.lang.Object>

visit

public java.lang.Object visit(StringBinding b)
Specified by:
visit in interface Binding.Visitor<java.lang.Object>

visit

public java.lang.Object visit(UnionBinding b)
Specified by:
visit in interface Binding.Visitor<java.lang.Object>

visit

public java.lang.Object visit(VariantBinding b)
Specified by:
visit in interface Binding.Visitor<java.lang.Object>

visit

public java.lang.Object visit(MapBinding b)
Specified by:
visit in interface Binding.Visitor<java.lang.Object>

randomType

public Datatype randomType(int depth,
                           int maxDepth)