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 ObjectIfvalue==DIRECT_ON_SET, break indirection on aset.protected static final ObjectIfvaluehas this value, force indirection even for thesetWithSaveoperation.protected ObjectIfbaseis 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
Ifvaluehas this value, force indirection even for thesetWithSaveoperation. Ignoring the restore aspect of afluid-let, it is normally treated as closer to adefinethan to aset, in that we break the sharing with anotherEnvironment. SettingvaluetoINDIRECT_FLUIDSmeans we do not want to break the indirection in this case. -
base
If non-null, operations are forwarded to the base location. -
value
Ifbaseis null, the current value stored in thisLocation. Ifbaseis non-null, thenvalueis generally ignored. However, the special valueDIRECT_ON_SETmeans that writes changevaluedirectly, instead of setting the value ofbase.
-
-
Constructor Details
-
IndirectableLocation
public IndirectableLocation()
-
-
Method Details
-
getKeySymbol
- Overrides:
getKeySymbolin classLocation<T>
-
getKeyProperty
- Overrides:
getKeyPropertyin classLocation<T>
-
isConstant
public boolean isConstant()- Overrides:
isConstantin classLocation<T>
-
getBase
-
getBaseForce
-
setBase
-
setAlias
Define this Location as an alias for some other Location. -
undefine
public void undefine() -
getEnvironment
-