Package gnu.mapping
Class IndirectableLocation<T>
java.lang.Object
gnu.mapping.Location<T>
gnu.mapping.IndirectableLocation<T>
- Direct Known Subclasses:
NamedLocation
-
Field Summary
FieldsModifier and TypeFieldDescriptionIf non-null, operations are forwarded to the base location.protected static final Object
Ifvalue==DIRECT_ON_SET
, break indirection on aset
.protected static final Object
Ifvalue
has this value, force indirection even for thesetWithSave
operation.protected Object
Ifbase
is null, the current value stored in thisLocation
. -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
DIRECT_ON_SET
Ifvalue==DIRECT_ON_SET
, break indirection on aset
. -
INDIRECT_FLUIDS
Ifvalue
has this value, force indirection even for thesetWithSave
operation. Ignoring the restore aspect of afluid-let
, it is normally treated as closer to adefine
than to aset
, in that we break the sharing with anotherEnvironment
. Settingvalue
toINDIRECT_FLUIDS
means we do not want to break the indirection in this case. -
base
If non-null, operations are forwarded to the base location. -
value
Ifbase
is null, the current value stored in thisLocation
. Ifbase
is non-null, thenvalue
is generally ignored. However, the special valueDIRECT_ON_SET
means that writes changevalue
directly, instead of setting the value ofbase
.
-
-
Constructor Details
-
IndirectableLocation
public IndirectableLocation()
-
-
Method Details
-
getKeySymbol
- Overrides:
getKeySymbol
in classLocation<T>
-
getKeyProperty
- Overrides:
getKeyProperty
in classLocation<T>
-
isConstant
public boolean isConstant()- Overrides:
isConstant
in classLocation<T>
-
getBase
-
getBaseForce
-
setBase
-
setAlias
Define this Location as an alias for some other Location. -
undefine
public void undefine() -
getEnvironment
-