org.simantics.databoard.accessor
Interface MapAccessor

All Superinterfaces:
Accessor
All Known Subinterfaces:
FileMapAccessor
All Known Implementing Classes:
BinaryMap, DirectoryMap, JavaMap

public interface MapAccessor
extends Accessor


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.simantics.databoard.accessor.Accessor
Accessor.Listener
 
Method Summary
 void clear()
          Clear all entries.
 boolean containsKey(Binding keyBinding, java.lang.Object key)
          Returns true if map has a value for specified key
 boolean containsValue(Binding valueBinding, java.lang.Object value)
          Returns true if map has a value for one or multiple keys
 int count(Binding keyBinding, java.lang.Object from, boolean fromInclusive, java.lang.Object end, boolean endInclusive)
          Count the number of entries between two keyes
 java.lang.Object get(Binding keyBinding, java.lang.Object key, Binding valueBinding)
          Get the value that is specified for a key
 void getAll(Binding keyBinding, Binding valueBinding, java.util.Map<java.lang.Object,java.lang.Object> to)
          Get all entries, write to a Java Collection
 void getAll(Binding keyBinding, Binding valueBinding, java.lang.Object[] keys, java.lang.Object[] values)
          Get all entries in order, write to 2 arrays.
 java.lang.Object getCeilingKey(Binding keyBinding, java.lang.Object key)
           
 void getEntries(Binding keyBinding, java.lang.Object from, boolean fromInclusive, java.lang.Object end, boolean endInclusive, ArrayBinding keyArrayBinding, java.lang.Object keysArray, ArrayBinding valueArrayBinding, java.lang.Object valueArray)
          Read a range of entries
 java.lang.Object getFirstKey(Binding keyBinding)
           
 java.lang.Object getFloorKey(Binding keyBinding, java.lang.Object key)
           
 java.lang.Object getHigherKey(Binding keyBinding, java.lang.Object key)
           
 java.lang.Object[] getKeys(Binding keyBinding)
          Get all keys in order
 java.lang.Object getLastKey(Binding keyBinding)
           
 java.lang.Object getLowerKey(Binding keyBinding, java.lang.Object key)
           
<T extends Accessor>
T
getValueAccessor(Binding keyBinding, java.lang.Object key)
          Get an accessor to a value.
 java.lang.Object[] getValues(Binding valueBinding)
          Get all values
 void put(Binding keyBinding, java.lang.Object key, Binding valueBinding, java.lang.Object value)
          Put an entry to the map.
 void putAll(Binding keyBinding, Binding valueBinding, java.util.Map<java.lang.Object,java.lang.Object> from)
          Put entries from a map.
 void putAll(Binding keyBinding, Binding valueBinding, java.lang.Object[] keys, java.lang.Object[] values)
          Put entries from a map.
 void remove(Binding keyBinding, java.lang.Object key)
          Remove an entry.
 void setValue(Binding mapBinding, java.lang.Object newMap)
          Set & copy all entries from a Map Value.
 int size()
          Get the number of elements in the map
 MapType type()
          Get structural represtentation of the accessor presented in databoard's type system.
 
Methods inherited from interface org.simantics.databoard.accessor.Accessor
addListener, apply, getComponent, getValue, getValue, removeListener
 

Method Detail

size

int size()
         throws AccessorException
Get the number of elements in the map

Returns:
size
Throws:
AccessorException

get

java.lang.Object get(Binding keyBinding,
                     java.lang.Object key,
                     Binding valueBinding)
                     throws AccessorException
Get the value that is specified for a key

Parameters:
keyBinding -
key -
valueBinding -
Returns:
the value or null
Throws:
AccessorException

containsKey

boolean containsKey(Binding keyBinding,
                    java.lang.Object key)
                    throws AccessorException
Returns true if map has a value for specified key

Parameters:
keyBinding -
key -
Returns:
true if entry exists
Throws:
AccessorException

containsValue

boolean containsValue(Binding valueBinding,
                      java.lang.Object value)
                      throws AccessorException
Returns true if map has a value for one or multiple keys

Parameters:
valueBinding -
value -
Returns:
true if value exists
Throws:
AccessorException

setValue

void setValue(Binding mapBinding,
              java.lang.Object newMap)
              throws AccessorException
Set & copy all entries from a Map Value. If entries are removed and they have accessors, the accessors are invalidated.

Specified by:
setValue in interface Accessor
Parameters:
mapBinding -
newMap -
Throws:
BindingException - binding error
java.lang.UnsupportedOperationException - cannot set a new value
AccessorException

put

void put(Binding keyBinding,
         java.lang.Object key,
         Binding valueBinding,
         java.lang.Object value)
         throws AccessorException
Put an entry to the map. If previous entry exists for the key, it is removed.

Parameters:
keyBinding -
key -
valueBinding -
value -
Throws:
AccessorException

remove

void remove(Binding keyBinding,
            java.lang.Object key)
            throws AccessorException
Remove an entry. If there is an accessor, it becomes invalid.

Parameters:
keyBinding -
key -
Throws:
AccessorException

clear

void clear()
           throws AccessorException
Clear all entries. If there is an accessor to a removed container, it becomes invalid.

Throws:
AccessorException

putAll

void putAll(Binding keyBinding,
            Binding valueBinding,
            java.util.Map<java.lang.Object,java.lang.Object> from)
            throws AccessorException
Put entries from a map. Replaces any possible existing entry.

Parameters:
keyBinding -
valueBinding -
from -
Throws:
AccessorException

putAll

void putAll(Binding keyBinding,
            Binding valueBinding,
            java.lang.Object[] keys,
            java.lang.Object[] values)
            throws AccessorException
Put entries from a map. Replaces any possible existing entry.

Parameters:
keyBinding -
valueBinding -
keys -
values -
Throws:
AccessorException

getAll

void getAll(Binding keyBinding,
            Binding valueBinding,
            java.util.Map<java.lang.Object,java.lang.Object> to)
            throws AccessorException
Get all entries, write to a Java Collection

Parameters:
keyBinding -
valueBinding -
to -
Throws:
AccessorException

getAll

void getAll(Binding keyBinding,
            Binding valueBinding,
            java.lang.Object[] keys,
            java.lang.Object[] values)
            throws AccessorException
Get all entries in order, write to 2 arrays.

Parameters:
keyBinding -
valueBinding -
keys -
values -
Throws:
AccessorException

count

int count(Binding keyBinding,
          java.lang.Object from,
          boolean fromInclusive,
          java.lang.Object end,
          boolean endInclusive)
          throws AccessorException
Count the number of entries between two keyes

Parameters:
keyBinding -
from -
fromInclusive -
end -
endInclusive -
Returns:
number of entries in range
Throws:
AccessorException

getEntries

void getEntries(Binding keyBinding,
                java.lang.Object from,
                boolean fromInclusive,
                java.lang.Object end,
                boolean endInclusive,
                ArrayBinding keyArrayBinding,
                java.lang.Object keysArray,
                ArrayBinding valueArrayBinding,
                java.lang.Object valueArray)
                throws AccessorException
Read a range of entries

Parameters:
keyBinding -
from -
fromInclusive -
end -
endInclusive -
keyArrayBinding -
keysArray -
valueArrayBinding -
valueArray -
Throws:
AccessorException

getKeys

java.lang.Object[] getKeys(Binding keyBinding)
                           throws AccessorException
Get all keys in order

Parameters:
keyBinding -
Returns:
an array or keys
Throws:
AccessorException

getValues

java.lang.Object[] getValues(Binding valueBinding)
                             throws AccessorException
Get all values

Parameters:
valueBinding -
Returns:
an array of values
Throws:
AccessorException

getValueAccessor

<T extends Accessor> T getValueAccessor(Binding keyBinding,
                                        java.lang.Object key)
                                    throws AccessorConstructionException
Get an accessor to a value. It becomes invalid if the entry is removed or overwritten with a new value.

Parameters:
keyBinding -
key -
Returns:
value accessor
Throws:
AccessorConstructionException

type

MapType type()
Description copied from interface: Accessor
Get structural represtentation of the accessor presented in databoard's type system.

Specified by:
type in interface Accessor
Returns:
type description

getFirstKey

java.lang.Object getFirstKey(Binding keyBinding)
                             throws AccessorException
Throws:
AccessorException

getLastKey

java.lang.Object getLastKey(Binding keyBinding)
                            throws AccessorException
Throws:
AccessorException

getLowerKey

java.lang.Object getLowerKey(Binding keyBinding,
                             java.lang.Object key)
                             throws AccessorException
Throws:
AccessorException

getFloorKey

java.lang.Object getFloorKey(Binding keyBinding,
                             java.lang.Object key)
                             throws AccessorException
Throws:
AccessorException

getCeilingKey

java.lang.Object getCeilingKey(Binding keyBinding,
                               java.lang.Object key)
                               throws AccessorException
Throws:
AccessorException

getHigherKey

java.lang.Object getHigherKey(Binding keyBinding,
                              java.lang.Object key)
                              throws AccessorException
Throws:
AccessorException