|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.simantics.databoard.Bindings
public class Bindings
This ia a facade class for the binding services.
Field Summary | |
---|---|
static AdapterRepository |
adapterCache
|
static BindingRepository |
defaultScheme
Default Scheme supports java primitives and others |
static GenericBindingScheme |
genericBindingScheme
|
static ReflectionBinding |
reflectionBinding
|
static UnboundScheme |
UnboundScheme
|
Constructor Summary | |
---|---|
Bindings()
|
Method Summary | ||
---|---|---|
static java.lang.Object |
adapt(java.lang.Object value,
Binding domain,
Binding range)
Adapt a value of one type to another. |
|
static java.lang.Object |
adaptUnchecked(java.lang.Object value,
Binding domain,
Binding range)
Adapt a value of one type to another |
|
static java.lang.Object |
clone(java.lang.Object value,
Binding domain,
Binding range)
Clone a value to another type to another. |
|
static java.lang.Object |
cloneUnchecked(java.lang.Object value,
Binding domain,
Binding range)
Clone a value of one binding to another. |
|
static int |
compare(Binding b1,
java.lang.Object o1,
Binding b2,
java.lang.Object o2)
Compares its two data values for order. |
|
static java.util.Comparator<java.lang.Object> |
createComparator(Binding b1,
Binding b2)
|
|
static boolean |
equals(Binding b1,
java.lang.Object o1,
Binding b2,
java.lang.Object o2)
Compare two data values for equality. |
|
static Adapter |
getAdapter(Binding domain,
Binding range)
Create an adapter that adapts two bindings of the same data type. |
|
static Adapter |
getAdapterUnchecked(Binding domain,
Binding range)
Create an adapter that adapts between two bindings of the same data type. |
|
static
|
getBinding(java.lang.Class<?> clazz)
Get a binding to a Java Class. |
|
static
|
getBinding(DataType type)
Get a generic binding to a DataType. |
|
static Binding |
getBindingUnchecked(java.lang.Class<?> clazz)
Read binding and type from a class. |
|
static Adapter |
getTypeAdapter(Binding domain,
Binding range)
Create a type adapter that adapts instances from one DataType to another. |
|
static Adapter |
getTypeAdapterUnchecked(Binding domain,
Binding range)
Create a type adapter that adapts instances from one DataType to another. |
|
static
|
getUnboundBinding(DataType type)
Unbound binding is a fake binding that is used with Serializer for
two purposes. |
|
static BindingScheme |
schemeOver(Binding binding)
Create Binding Scheme that covers one binding |
|
static java.lang.String |
toString(java.lang.Object o)
Print the content of an object as a structure. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final AdapterRepository adapterCache
public static final ReflectionBinding reflectionBinding
public static final UnboundScheme UnboundScheme
public static final GenericBindingScheme genericBindingScheme
public static final BindingRepository defaultScheme
Constructor Detail |
---|
public Bindings()
Method Detail |
---|
public static <T extends Binding> T getBinding(DataType type)
type
-
public static <T extends Binding> T getBinding(java.lang.Class<?> clazz) throws BindingConstructionException
The whether the result binding is a completely mutable or not depends on the provided classes. For instance, fields such as Boolean, Integer, Long are not mutable, instead MutableBoolean, MutableInteger and MutableLong are. The length of Object[] is not mutable, but length of List
public static Binding getBindingUnchecked(java.lang.Class<?> clazz) throws RuntimeBindingConstructionException
As an exception, in the subclasses of Throwable
, the fields of
Throwable are omited.
This method is used when the caller is 100% sure that binding will be constructed without exceptions. Such classes are all primitive types (Double, Integer, etc, arrays, DataType, ...) This method is unchecked if binding construction to the clazz cannot be trusted. If construction fails, a RuntimeException is thrown.
clazz
-
RuntimeBindingConstructionException
public static <T extends Binding> T getUnboundBinding(DataType type)
Serializer
for
two purposes. The first is for validating data the format of data with
out instantiating Objects, and the second is for skipping over bytes of
unknown sized objects of a stream.
type
-
public static BindingScheme schemeOver(Binding binding)
binding
-
public static Adapter getAdapter(Binding domain, Binding range) throws AdapterConstructionException
domain
- binding of the source instancerange
- binding of the result instance
AdapterConstructionException
public static Adapter getAdapterUnchecked(Binding domain, Binding range) throws RuntimeAdapterConstructionException
domain
- binding of the source instancerange
- binding of the result instance
AdapterConstructionException
RuntimeAdapterConstructionException
public static Adapter getTypeAdapter(Binding domain, Binding range) throws AdapterConstructionException
AdaptException
is thrown at runtime, if number values are
not compatible, e.g. converting value 500 from Long to Byte.
Note, there is also a possibility of precision loss, e.g. when
converting from double to int.
domain
- binding of the source instancerange
- binding of the result instance
AdapterConstructionException
public static Adapter getTypeAdapterUnchecked(Binding domain, Binding range)
AdaptException
is thrown at runtime, if number values are
not compatible, e.g. converting value 500 from Long to Byte.
Note, there is also a possibility of precision loss, e.g. when
converting from double to int.
domain
- binding of the source instancerange
- binding of the result instance
AdapterConstructionException
public static java.lang.Object adapt(java.lang.Object value, Binding domain, Binding range) throws AdaptException
value
- domain
- range
-
AdapterConstructionException
AdaptException
public static java.lang.Object adaptUnchecked(java.lang.Object value, Binding domain, Binding range) throws RuntimeAdapterConstructionException, RuntimeAdaptException
value
- domain
- range
-
AdapterConstructionException
AdaptException
RuntimeAdapterConstructionException
RuntimeAdaptException
public static java.lang.Object clone(java.lang.Object value, Binding domain, Binding range) throws AdaptException
value
- domain
- range
-
AdapterConstructionException
AdaptException
public static java.lang.Object cloneUnchecked(java.lang.Object value, Binding domain, Binding range) throws RuntimeAdapterConstructionException, RuntimeAdaptException
value
- domain
- range
-
AdapterConstructionException
AdaptException
RuntimeAdapterConstructionException
RuntimeAdaptException
public static int compare(Binding b1, java.lang.Object o1, Binding b2, java.lang.Object o2) throws BindingException
DataTypes of b1 and b2 are not equal then data types are compared.
The comparison function is defined at https://www.simantics.org/wiki/index.php/Org.simantics.datatype_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.
b1
- Binding of o1o1
- the first object to be compared.b2
- Binding of o2o2
- the second object to be compared.
BindingException
- if object cannot be handled by a bindingpublic static boolean equals(Binding b1, java.lang.Object o1, Binding b2, java.lang.Object o2) throws BindingException
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.
b1
- o1
- b2
- o2
-
BindingException
public static java.util.Comparator<java.lang.Object> createComparator(Binding b1, Binding b2)
public static java.lang.String toString(java.lang.Object o)
o
-
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |