org.simantics.databoard.binding.java
Class OptionalBindingDefault

java.lang.Object
  extended by org.simantics.databoard.binding.Binding
      extended by org.simantics.databoard.binding.OptionalBinding
          extended by org.simantics.databoard.binding.java.OptionalBindingDefault
All Implemented Interfaces:
java.util.Comparator<java.lang.Object>

public class OptionalBindingDefault
extends OptionalBinding

This implementation binds OptionalType to null / Object assignment.

Author:
Toni Kalajainen

Nested Class Summary
 
Nested classes/interfaces inherited from class org.simantics.databoard.binding.Binding
Binding.Visitor<T>, Binding.Visitor1
 
Field Summary
 
Fields inherited from class org.simantics.databoard.binding.OptionalBinding
componentBinding
 
Constructor Summary
OptionalBindingDefault(Binding componentBinding)
           
OptionalBindingDefault(OptionalType type, Binding componentBinding)
           
 
Method Summary
 java.lang.Object createNoValue()
          Create result with no value
 java.lang.Object createValue(java.lang.Object value)
          Create result with a value
 java.lang.Object getValue(java.lang.Object arg)
          Get the non-null value, the arg did not contain a value, BindingException is thrown.
 boolean hasValue(java.lang.Object arg)
          Tests whether arg contains a value
 boolean isImmutable()
          Return true if the value is immutable.
 boolean isInstance(java.lang.Object obj)
           
 void setNoValue(java.lang.Object optional)
           
 void setValue(java.lang.Object optional, java.lang.Object componentValue)
           
 
Methods inherited from class org.simantics.databoard.binding.OptionalBinding
accept, accept, assertInstaceIsValid, createNoValueUnchecked, createValueUnchecked, deepCompare, deepHashValue, getComponentBinding, hasValueUnchecked, type
 
Methods inherited from class org.simantics.databoard.binding.Binding
assertInstaceIsValid, clone, cloneUnchecked, compare, createDefault, createDefaultUnchecked, createRandom, createRandomUnchecked, equals, hashValue, parseValue, parseValue, parseValueDefinition, printValue, printValueDefinition, serializer, serializer, serializerUnchecked
 
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

OptionalBindingDefault

public OptionalBindingDefault(Binding componentBinding)

OptionalBindingDefault

public OptionalBindingDefault(OptionalType type,
                              Binding componentBinding)
Method Detail

createNoValue

public java.lang.Object createNoValue()
Create result with no value

Specified by:
createNoValue in class OptionalBinding
Returns:
no value

createValue

public java.lang.Object createValue(java.lang.Object value)
                             throws BindingException
Create result with a value

Specified by:
createValue in class OptionalBinding
Parameters:
value -
Returns:
argument that contains a value
Throws:
BindingException

hasValue

public boolean hasValue(java.lang.Object arg)
Tests whether arg contains a value

Specified by:
hasValue in class OptionalBinding
Parameters:
arg -
Returns:
true if arg contained a value

getValue

public java.lang.Object getValue(java.lang.Object arg)
                          throws BindingException
Get the non-null value, the arg did not contain a value, BindingException is thrown.

Specified by:
getValue in class OptionalBinding
Parameters:
arg - argument that contains a value
Returns:
the composite value
Throws:
BindingException

setValue

public void setValue(java.lang.Object optional,
                     java.lang.Object componentValue)
              throws BindingException
Specified by:
setValue in class OptionalBinding
Throws:
BindingException

setNoValue

public void setNoValue(java.lang.Object optional)
                throws BindingException
Specified by:
setNoValue in class OptionalBinding
Throws:
BindingException

isInstance

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

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