|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.simantics.databoard.binding.Binding
public abstract class Binding
Binding is an object that makes modifications and conversions between values of a Datatype and instances of a Java Class possible. If the Datatype is structural, so is the corresponding binding, and the structure is the same. There are 13 datatypes, and there is one binding type for each corresponding datatype. See examples/BindingExample.java
Bindings
Nested Class Summary | |
---|---|
static interface |
Binding.Visitor<T>
|
static interface |
Binding.Visitor1
|
Constructor Summary | |
---|---|
Binding()
|
Method Summary | ||
---|---|---|
abstract
|
accept(Binding.Visitor<T> v)
|
|
abstract void |
accept(Binding.Visitor1 v,
java.lang.Object obj)
|
|
void |
assertInstaceIsValid(java.lang.Object obj)
Assert the obj is valid data type |
|
abstract void |
assertInstaceIsValid(java.lang.Object obj,
java.util.Set<java.lang.Object> validInstances)
Assert the obj is valid data type |
|
java.lang.Object |
clone(java.lang.Object o)
Make a complete copy of a the java object. |
|
java.lang.Object |
cloneUnchecked(java.lang.Object o)
|
|
int |
compare(java.lang.Object o1,
java.lang.Object o2)
Compares its two data values for order. |
|
java.lang.Object |
createDefault()
Create a value with valid default values. |
|
java.lang.Object |
createDefaultUnchecked()
|
|
java.lang.Object |
createRandom(int seed)
Create random valid value. |
|
java.lang.Object |
createRandomUnchecked(int seed)
|
|
abstract int |
deepCompare(java.lang.Object o1,
java.lang.Object o2,
java.util.Set<IdentityPair<java.lang.Object,java.lang.Object>> compareHistory)
|
|
abstract int |
deepHashValue(java.lang.Object value,
java.util.IdentityHashMap<java.lang.Object,java.lang.Object> hashedObjects)
Calculate hash value |
|
boolean |
equals(java.lang.Object o1,
java.lang.Object o2)
Compare two Java Objects of this binding for equality. |
|
int |
hashValue(java.lang.Object value)
Calculate Hash code for a Data Value. |
|
boolean |
isImmutable()
Return true if the value is immutable. |
|
abstract boolean |
isInstance(java.lang.Object obj)
|
|
static void |
main(java.lang.String[] args)
|
|
java.lang.Object |
parseValue(java.io.Reader stream,
DataValueRepository repository)
Parse data value from a text to a value instance. |
|
java.lang.Object |
parseValue(java.lang.String text,
DataValueRepository repository)
Parse data value from a text to a value instance. |
|
java.lang.Object |
parseValueDefinition(java.lang.String text)
Parse data value from a text to a value instance. |
|
void |
printValue(java.lang.Object value,
java.lang.Appendable out,
DataValueRepository valueRepository,
boolean singleLine)
Print a value to an appendable using data value notation. |
|
java.lang.String |
printValueDefinition(java.lang.Object value,
boolean singleLine)
Print a value as a data value repository. |
|
Serializer |
serializer()
Deprecated. Instead use Bindings.getSerializerUnchecked(Binding) or SerializationScheme#getSerializerUnchecked(Binding) |
|
Serializer |
serializer(SerializationFormat format)
Create a serializer using a custom serialization format. |
|
Serializer |
serializerUnchecked(SerializationFormat format)
Create a serializer using a custom serialization format. |
|
java.lang.String |
toString(java.lang.Object value)
|
|
DataType |
type()
Get Value Type |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface java.util.Comparator |
---|
equals |
Constructor Detail |
---|
public Binding()
Method Detail |
---|
public DataType type()
public abstract void accept(Binding.Visitor1 v, java.lang.Object obj)
public abstract <T> T accept(Binding.Visitor<T> v)
public Serializer serializer() throws RuntimeSerializerConstructionException
Bindings.getSerializerUnchecked(Binding)
or SerializationScheme#getSerializerUnchecked(Binding)
RuntimeSerializerConstructionException
public Serializer serializer(SerializationFormat format) throws SerializerConstructionException
format
- serializer format
SerializerConstructionException
public Serializer serializerUnchecked(SerializationFormat format)
format
- serializer format
SerializerConstructionException
public abstract boolean isInstance(java.lang.Object obj)
public boolean isImmutable()
true
value if immutablepublic void assertInstaceIsValid(java.lang.Object obj) throws BindingException
obj
- the instance
BindingException
- on invalid instancepublic abstract void assertInstaceIsValid(java.lang.Object obj, java.util.Set<java.lang.Object> validInstances) throws BindingException
obj
- the instancevalidInstances
- optional set of already validated instances
BindingException
- on invalid instancepublic java.lang.Object parseValue(java.io.Reader stream, DataValueRepository repository) throws DataTypeSyntaxError, BindingException
stream
-
BindingException
ParseException
DataTypeSyntaxError
public java.lang.Object parseValue(java.lang.String text, DataValueRepository repository) throws DataTypeSyntaxError, BindingException
text
-
BindingException
ParseException
DataTypeSyntaxError
public java.lang.Object parseValueDefinition(java.lang.String text) throws DataTypeSyntaxError, BindingException
text
-
BindingException
ParseException
DataTypeSyntaxError
public java.lang.String printValueDefinition(java.lang.Object value, boolean singleLine) throws java.io.IOException, BindingException
value
- singleLine
-
java.io.IOException
BindingException
public void printValue(java.lang.Object value, java.lang.Appendable out, DataValueRepository valueRepository, boolean singleLine) throws java.io.IOException, BindingException
value
- out
- singleLine
-
java.io.IOException
BindingException
public int hashValue(java.lang.Object value) throws BindingException
value
-
BindingException
public abstract int deepHashValue(java.lang.Object value, java.util.IdentityHashMap<java.lang.Object,java.lang.Object> hashedObjects) throws BindingException
value
- hashedObjects
- collection of already hashed object or optionally null
BindingException
public int compare(java.lang.Object o1, java.lang.Object o2) throws RuntimeBindingException
The implementor must also ensure that the relation is transitive:
((compare(x, y)>0) && (compare(y, z)>0))
implies
compare(x, z)>0
.
Finally, the implementor must ensure that compare(x, y)==0
implies that sgn(compare(x, z))==sgn(compare(y, z))
for all
z
.
The comparison function is defined at https://www.simantics.org/wiki/index.php/Org.simantics.databoard_Manual#CompareTo_and_Equals
Note, comparing 2 different number types will not result a value comparison. Instead values have the following type precedence ByteType, IntegerType, LongType, FloatType, and the highest DoubleType.
compare
in interface java.util.Comparator<java.lang.Object>
o1
- the first object to be compared.o2
- the second object to be compared.
BindingException
- if object cannot be handled by a binding
RuntimeBindingException
public boolean equals(java.lang.Object o1, java.lang.Object o2) throws RuntimeBindingException
o1
- o2
-
RuntimeBindingException
public java.lang.Object clone(java.lang.Object o) throws AdaptException
Note, this is a generic implementation, override for better performance.
o
- to be cloned
AdapterConstructionException
AdaptException
public java.lang.Object cloneUnchecked(java.lang.Object o) throws RuntimeAdaptException
RuntimeAdaptException
public abstract int deepCompare(java.lang.Object o1, java.lang.Object o2, java.util.Set<IdentityPair<java.lang.Object,java.lang.Object>> compareHistory) throws BindingException
BindingException
public java.lang.Object createDefault() throws BindingException
BindingException
public java.lang.Object createDefaultUnchecked() throws RuntimeBindingException
RuntimeBindingException
public java.lang.Object createRandom(int seed) throws BindingException
seed
- random seed
BindingException
public java.lang.Object createRandomUnchecked(int seed) throws RuntimeBindingException
RuntimeBindingException
public java.lang.String toString(java.lang.Object value) throws BindingException
BindingException
public static void main(java.lang.String[] args) throws BindingException
BindingException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |