org.simantics.databoard.binding.mutable
Class ImmutableVariantBinding

java.lang.Object
  extended by org.simantics.databoard.binding.Binding
      extended by org.simantics.databoard.binding.VariantBinding
          extended by org.simantics.databoard.binding.mutable.ImmutableVariantBinding
All Implemented Interfaces:
java.util.Comparator<java.lang.Object>
Direct Known Subclasses:
MutableVariantBinding, VariantContainerBinding

public class ImmutableVariantBinding
extends VariantBinding

ImmutableVariantBinding binds VariantType to Variant Class.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.simantics.databoard.binding.Binding
Binding.Visitor<T>, Binding.Visitor1
 
Field Summary
static ImmutableVariantBinding INSTANCE
          Deprecated. 
 
Method Summary
 void assertInstaceIsValid(java.lang.Object obj, java.util.Set<java.lang.Object> validInstances)
          Assert the obj is valid data type
 java.lang.Object create(Binding binding, java.lang.Object value)
          Create a new variant object.
 java.lang.Object getContent(java.lang.Object variant)
          Get the value of the variant.
 java.lang.Object getContent(java.lang.Object variant, Binding binding)
          Get the value in the variant.
 Binding getContentBinding(java.lang.Object variant)
          Return a suggestion for the binding of the content of this variant.
 DataType getContentType(java.lang.Object variant)
          Get the data type of the content.
 boolean isImmutable()
          Return true if the value is immutable.
 boolean isInstance(java.lang.Object obj)
           
 void setContent(java.lang.Object variant, Binding binding, java.lang.Object value)
          Set the content of an variant.
 
Methods inherited from class org.simantics.databoard.binding.VariantBinding
accept, accept, createUnchecked, deepCompare, deepHashValue
 
Methods inherited from class org.simantics.databoard.binding.Binding
assertInstaceIsValid, clone, cloneUnchecked, compare, createDefault, createDefaultUnchecked, createRandom, createRandomUnchecked, equals, hashValue, main, parseValue, parseValue, parseValueDefinition, printValue, printValueDefinition, serializer, serializer, serializerUnchecked, toString, 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
 

Field Detail

INSTANCE

@Deprecated
public static final ImmutableVariantBinding INSTANCE
Deprecated. 
Method Detail

isImmutable

public boolean isImmutable()
Description copied from class: Binding
Return true if the value is immutable. This question excludes the immutability of the component types.

Overrides:
isImmutable in class Binding
Returns:
true value if immutable

create

public java.lang.Object create(Binding binding,
                               java.lang.Object value)
                        throws BindingException
Description copied from class: VariantBinding
Create a new variant object. The value argument may be included in the result.

Specified by:
create in class VariantBinding
Parameters:
binding - the binding of the content
value - content
Returns:
new variant
Throws:
BindingException

getContentBinding

public Binding getContentBinding(java.lang.Object variant)
                          throws BindingException
Description copied from class: VariantBinding
Return a suggestion for the binding of the content of this variant.

Specified by:
getContentBinding in class VariantBinding
Parameters:
variant - variant object
Returns:
binding a binding
Throws:
BindingException

getContentType

public DataType getContentType(java.lang.Object variant)
                        throws BindingException
Description copied from class: VariantBinding
Get the data type of the content.

Specified by:
getContentType in class VariantBinding
Parameters:
variant - the variant object
Returns:
the data type
Throws:
BindingException

getContent

public java.lang.Object getContent(java.lang.Object variant,
                                   Binding binding)
                            throws BindingException
Description copied from class: VariantBinding
Get the value in the variant. The returned value may represent internal value of variant.

Specified by:
getContent in class VariantBinding
Parameters:
variant - the variant object to read the content from
binding - the format of return value
Returns:
value variant's content
Throws:
BindingException

getContent

public java.lang.Object getContent(java.lang.Object variant)
                            throws BindingException
Description copied from class: VariantBinding
Get the value of the variant. The value is bound with the suggested binding, see VariantBinding.getContentBinding(Object).

Specified by:
getContent in class VariantBinding
Parameters:
variant - the variant object
Returns:
value variant's content
Throws:
BindingException

setContent

public void setContent(java.lang.Object variant,
                       Binding binding,
                       java.lang.Object value)
                throws BindingException
Description copied from class: VariantBinding
Set the content of an variant.

Specified by:
setContent in class VariantBinding
Parameters:
variant - variant object
binding - content's binding
value - new content
Throws:
BindingException

assertInstaceIsValid

public void assertInstaceIsValid(java.lang.Object obj,
                                 java.util.Set<java.lang.Object> validInstances)
                          throws BindingException
Description copied from class: Binding
Assert the obj is valid data type

Specified by:
assertInstaceIsValid in class Binding
Parameters:
obj - the instance
validInstances - optional set of already validated instances
Throws:
BindingException - on invalid instance

isInstance

public boolean isInstance(java.lang.Object obj)
Specified by:
isInstance in class Binding