Package gnu.mapping
Class ConstrainedLocation<T>
- java.lang.Object
-
- gnu.mapping.Location<T>
-
- gnu.mapping.ConstrainedLocation<T>
-
- Direct Known Subclasses:
ReadOnlyLocation
public class ConstrainedLocation<T> extends Location<T>
-
-
Constructor Summary
Constructors Constructor Description ConstrainedLocation()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected T
coerce(T newValue)
T
get()
Get the current value of this location.T
get(T defaultValue)
Object
getKeyProperty()
Symbol
getKeySymbol()
boolean
isBound()
boolean
isConstant()
static <T> ConstrainedLocation<T>
make(Location<T> base, Procedure converter)
void
set(T newValue)
void
setRestore(Object oldValue)
Restore an old value.Object
setWithSave(T newValue)
Set a value, but return cookie so old value can be restored.void
undefine()
-
-
-
Method Detail
-
make
public static <T> ConstrainedLocation<T> make(Location<T> base, Procedure converter)
-
getKeySymbol
public Symbol getKeySymbol()
- Overrides:
getKeySymbol
in classLocation<T>
-
getKeyProperty
public Object getKeyProperty()
- Overrides:
getKeyProperty
in classLocation<T>
-
isConstant
public boolean isConstant()
- Overrides:
isConstant
in classLocation<T>
-
get
public final T get()
Description copied from class:Location
Get the current value of this location.
-
setWithSave
public Object setWithSave(T newValue)
Description copied from class:Location
Set a value, but return cookie so old value can be restored. This is intended for fluid-let where (in the case of multiple threads) a simple save-restore isn't always the right thing.- Overrides:
setWithSave
in classLocation<T>
-
setRestore
public void setRestore(Object oldValue)
Description copied from class:Location
Restore an old value.- Overrides:
setRestore
in classLocation<T>
- Parameters:
oldValue
- the return value from a prior setWithSave.
-
-