public interface BaseLocation
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
get(DynamicObject store,
boolean condition)
Get object value as object at this location in store.
|
java.lang.Object |
get(DynamicObject store,
Shape shape)
Get object value as object at this location in store.
|
void |
set(DynamicObject store,
java.lang.Object value)
Set object value at this location in store.
|
void |
set(DynamicObject store,
java.lang.Object value,
Shape shape)
Set object value at this location in store.
|
void |
set(DynamicObject store,
java.lang.Object value,
Shape oldShape,
Shape newShape)
Set object value at this location in store and update shape.
|
java.lang.Object get(DynamicObject store, Shape shape)
shape
- the current shape of the object, which must contain this locationjava.lang.Object get(DynamicObject store, boolean condition)
get(DynamicObject, Shape)
instead.condition
- the result of a shape check or false
get(DynamicObject, Shape)
void set(DynamicObject store, java.lang.Object value) throws IncompatibleLocationException, FinalLocationException
IncompatibleLocationException
- for storage type invalidationsFinalLocationException
- for effectively final fieldsvoid set(DynamicObject store, java.lang.Object value, Shape shape) throws IncompatibleLocationException, FinalLocationException
shape
- the current shape of the storage objectIncompatibleLocationException
- for storage type invalidationsFinalLocationException
- for effectively final fieldsvoid set(DynamicObject store, java.lang.Object value, Shape oldShape, Shape newShape) throws IncompatibleLocationException
oldShape
- the shape before the transitionnewShape
- new shape after the transitionIncompatibleLocationException
- if value is of non-assignable type