public abstract class Location
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
UNBOUND
Magic value used to indicate there is no property binding.
|
Constructor and Description |
---|
Location() |
Modifier and Type | Method and Description |
---|---|
boolean |
entered()
True if directly entered in an Environment.
|
java.lang.Object |
get()
Get the current value of this location.
|
abstract java.lang.Object |
get(java.lang.Object defaultValue) |
Location |
getBase() |
java.lang.Object |
getKeyProperty() |
Symbol |
getKeySymbol() |
java.lang.Object |
getValue() |
boolean |
isBound() |
boolean |
isConstant() |
static Location |
make(java.lang.Object init,
java.lang.String name) |
static IndirectableLocation |
make(java.lang.String name) |
static IndirectableLocation |
make(Symbol name) |
void |
print(java.io.PrintWriter ps) |
abstract void |
set(java.lang.Object value) |
void |
setRestore(java.lang.Object oldValue)
Restore an old value.
|
java.lang.Object |
setValue(java.lang.Object newValue) |
java.lang.Object |
setWithSave(java.lang.Object newValue)
Set a value, but return cookie so old value can be restored.
|
java.lang.String |
toString() |
void |
undefine() |
public static final java.lang.String UNBOUND
public Symbol getKeySymbol()
public java.lang.Object getKeyProperty()
public java.lang.String toString()
toString
in class java.lang.Object
public abstract java.lang.Object get(java.lang.Object defaultValue)
public final java.lang.Object get()
UnboundLocationException
- the location does not have a value.public abstract void set(java.lang.Object value)
public void undefine()
public java.lang.Object setWithSave(java.lang.Object newValue)
public void setRestore(java.lang.Object oldValue)
oldValue
- the return value from a prior setWithSave.public boolean isBound()
public boolean isConstant()
public Location getBase()
public final java.lang.Object getValue()
public final java.lang.Object setValue(java.lang.Object newValue)
public boolean entered()
public void print(java.io.PrintWriter ps)
public static Location make(java.lang.Object init, java.lang.String name)
public static IndirectableLocation make(java.lang.String name)
public static IndirectableLocation make(Symbol name)