org.simantics.databoard.binding.impl
Class ObjectArrayBinding

java.lang.Object
  extended by org.simantics.databoard.binding.Binding
      extended by org.simantics.databoard.binding.ArrayBinding
          extended by org.simantics.databoard.binding.impl.ObjectArrayBinding
All Implemented Interfaces:
java.util.Comparator<java.lang.Object>

public class ObjectArrayBinding
extends ArrayBinding

Binds to Object[]

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.ArrayBinding
componentBinding
 
Constructor Summary
ObjectArrayBinding(ArrayType type, Binding componentBinding)
           
ObjectArrayBinding(Binding componentBinding)
           
 
Method Summary
 void add(java.lang.Object array, int index, java.lang.Object element)
           
 java.lang.Object create()
          Create a new empty array
 java.lang.Object create(int length, java.util.Iterator<java.lang.Object> values)
          Create new array instance with initial values possibly borrowed from an interator.
 java.lang.Object create(java.lang.Object[] values)
          Create Array with initial values possibly borrowed from an java.lang.Array
 java.lang.Object get(java.lang.Object array, int index)
           
 void getAll(java.lang.Object array, java.lang.Object[] result)
           
 boolean isImmutable()
          Returns true if array length can be modified.
 boolean isInstance(java.lang.Object obj)
           
 boolean isResizable()
          Return true if the array's size can be adjusted and false if not
 void readFrom(Binding srcBinding, java.lang.Object src, java.lang.Object dst)
          Read values from one object to another.
 java.lang.Object readFromTry(Binding srcBinding, java.lang.Object src, java.lang.Object dst)
          Read values from one object to another.
 void remove(java.lang.Object array, int index, int count)
           
 void set(java.lang.Object array, int index, java.lang.Object value)
           
 void setSize(java.lang.Object array, int newSize)
           
 int size(java.lang.Object array)
           
 
Methods inherited from class org.simantics.databoard.binding.ArrayBinding
accept, accept, add, assertInstaceIsValid, create, create, createUnchecked, deepCompare, deepHashValue, getComponentBinding, getComponentBinding, getComponentBinding, getComponentCount, remove, type
 
Methods inherited from class org.simantics.databoard.binding.Binding
assertInstaceIsValid, clone, cloneUnchecked, compare, createDefault, createDefaultUnchecked, createRandom, createRandom, createRandom, createRandomUnchecked, equals, hashValue, parseValue, parseValue, parseValueDefinition, printValue, printValueDefinition, readFromTryUnchecked, readFromUnchecked, serializer, toString, toString
 
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

ObjectArrayBinding

public ObjectArrayBinding(ArrayType type,
                          Binding componentBinding)

ObjectArrayBinding

public ObjectArrayBinding(Binding componentBinding)
Method Detail

create

public java.lang.Object create(int length,
                               java.util.Iterator<java.lang.Object> values)
Description copied from class: ArrayBinding
Create new array instance with initial values possibly borrowed from an interator.

The implementation iterate the iterator before returning.

Specified by:
create in class ArrayBinding
Parameters:
length - array length
values - value iterator
Returns:
new instance

create

public java.lang.Object create()
Description copied from class: ArrayBinding
Create a new empty array

Specified by:
create in class ArrayBinding
Returns:
array object

create

public java.lang.Object create(java.lang.Object[] values)
Description copied from class: ArrayBinding
Create Array with initial values possibly borrowed from an java.lang.Array

Specified by:
create in class ArrayBinding
Returns:
array of ArrayType

readFrom

public void readFrom(Binding srcBinding,
                     java.lang.Object src,
                     java.lang.Object dst)
              throws BindingException
Description copied from class: Binding
Read values from one object to another.

Overrides:
readFrom in class ArrayBinding
dst - valid object of this binding
Throws:
BindingException

readFromTry

public java.lang.Object readFromTry(Binding srcBinding,
                                    java.lang.Object src,
                                    java.lang.Object dst)
                             throws BindingException
Description copied from class: Binding
Read values from one object to another.

Overrides:
readFromTry in class Binding
dst - valid object of this binding
Returns:
dst or new instance if could not be read to dst
Throws:
BindingException

add

public void add(java.lang.Object array,
                int index,
                java.lang.Object element)
         throws BindingException,
                java.lang.IndexOutOfBoundsException
Specified by:
add in class ArrayBinding
Throws:
BindingException
java.lang.IndexOutOfBoundsException

remove

public void remove(java.lang.Object array,
                   int index,
                   int count)
            throws BindingException
Specified by:
remove in class ArrayBinding
Throws:
BindingException

getAll

public void getAll(java.lang.Object array,
                   java.lang.Object[] result)
            throws BindingException
Specified by:
getAll in class ArrayBinding
Throws:
BindingException

get

public java.lang.Object get(java.lang.Object array,
                            int index)
                     throws BindingException
Specified by:
get in class ArrayBinding
Throws:
BindingException

set

public void set(java.lang.Object array,
                int index,
                java.lang.Object value)
         throws BindingException
Specified by:
set in class ArrayBinding
Throws:
BindingException

size

public int size(java.lang.Object array)
         throws BindingException
Specified by:
size in class ArrayBinding
Throws:
BindingException

isInstance

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

isImmutable

public boolean isImmutable()
Description copied from class: ArrayBinding
Returns true if array length can be modified.

Overrides:
isImmutable in class ArrayBinding
Returns:
true if array length can be modified, false if not

setSize

public void setSize(java.lang.Object array,
                    int newSize)
             throws BindingException
Specified by:
setSize in class ArrayBinding
Throws:
BindingException

isResizable

public boolean isResizable()
Description copied from class: ArrayBinding
Return true if the array's size can be adjusted and false if not

Specified by:
isResizable in class ArrayBinding
Returns:
true if array is resizable