gnu.mapping
Class SimpleEnvironment

java.lang.Object
  extended by gnu.mapping.Procedure
      extended by gnu.mapping.Procedure1
          extended by gnu.mapping.NameMap
              extended by gnu.mapping.Environment
                  extended by gnu.mapping.SimpleEnvironment
All Implemented Interfaces:
HasSetter, Named
Direct Known Subclasses:
InheritingEnvironment

public class SimpleEnvironment
extends Environment

Concrete implementation of Environment.


Field Summary
 
Fields inherited from class gnu.mapping.Environment
INDIRECT_DEFINES
 
Constructor Summary
SimpleEnvironment()
           
SimpleEnvironment(int capacity)
           
SimpleEnvironment(java.lang.String name)
           
 
Method Summary
 NamedLocation addLocation(Symbol name, java.lang.Object property, Location loc)
           
protected  NamedLocation addUnboundLocation(Symbol name, java.lang.Object property, int hash)
           
 NamedLocation define(Symbol sym, java.lang.Object property, int hash, java.lang.Object newValue)
           
 void define(Symbol sym, java.lang.Object property, java.lang.Object newValue)
           
 java.util.Set entrySet()
           
 LocationEnumeration enumerateAllLocations()
          Does enumerate inherited Locations.
 LocationEnumeration enumerateLocations()
          Does not enumerate inherited Locations.
static Location getCurrentLocation(java.lang.String name)
           
 NamedLocation getLocation(Symbol name, java.lang.Object property, int hash, boolean create)
           
protected  boolean hasMoreElements(LocationEnumeration it)
           
static java.lang.Object lookup_global(Symbol name)
           
 NamedLocation lookup(Symbol name, java.lang.Object property, int hash)
           
 NamedLocation lookupDirect(Symbol name, java.lang.Object property, int hash)
           
 void put(Symbol key, java.lang.Object property, java.lang.Object newValue)
           
 void readExternal(java.io.ObjectInput in)
           
 java.lang.Object readResolve()
           
protected  void redefineError(Symbol name, java.lang.Object property, Location loc)
           
 java.lang.Object remove(EnvironmentKey key)
          Remove and undefine binding.
 int size()
          Size does not include inherited Locations.
protected  void toStringBase(java.lang.StringBuffer sbuf)
           
 java.lang.String toStringVerbose()
          Overridden in sub-classes - useful for more verbose debug output.
 Location unlink(Symbol symbol, java.lang.Object property, int hash)
          Remove Location from this Environment.
 void writeExternal(java.io.ObjectOutput out)
           
 
Methods inherited from class gnu.mapping.Environment
addLocation, addLocation, containsKey, current, defaultNamespace, get, get, get, get, get, getCanDefine, getCanRedefine, getCurrent, getFlags, getFunction, getFunction, getGlobal, getInstance, getLocation, getLocation, getLocation, getLocation, getSymbol, isBound, isBound, isLocked, lookup, lookup, make, make, make, put, put, put, putFunction, remove, remove, remove, remove, removeFunction, setCanDefine, setCanRedefine, setCurrent, setFlag, setGlobal, setIndirectDefines, setLocked, toString, user
 
Methods inherited from class gnu.mapping.NameMap
apply1, getChecked, set1
 
Methods inherited from class gnu.mapping.Procedure1
apply0, apply2, apply3, apply4, applyN, numArgs
 
Methods inherited from class gnu.mapping.Procedure
apply, apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getName, getProperty, getSetter, getSymbol, match0, match1, match2, match3, match4, matchN, maxArgs, minArgs, name, removeProperty, set0, setN, setName, setProperty, setProperty, setSetter, setSymbol
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface gnu.mapping.HasSetter
getSetter
 

Constructor Detail

SimpleEnvironment

public SimpleEnvironment()

SimpleEnvironment

public SimpleEnvironment(java.lang.String name)

SimpleEnvironment

public SimpleEnvironment(int capacity)
Method Detail

size

public int size()
Size does not include inherited Locations.


getCurrentLocation

public static Location getCurrentLocation(java.lang.String name)

lookup_global

public static java.lang.Object lookup_global(Symbol name)
                                      throws UnboundLocationException
Throws:
UnboundLocationException

lookup

public NamedLocation lookup(Symbol name,
                            java.lang.Object property,
                            int hash)
Specified by:
lookup in class Environment

lookupDirect

public NamedLocation lookupDirect(Symbol name,
                                  java.lang.Object property,
                                  int hash)

getLocation

public NamedLocation getLocation(Symbol name,
                                 java.lang.Object property,
                                 int hash,
                                 boolean create)
Specified by:
getLocation in class Environment

addUnboundLocation

protected NamedLocation addUnboundLocation(Symbol name,
                                           java.lang.Object property,
                                           int hash)

put

public void put(Symbol key,
                java.lang.Object property,
                java.lang.Object newValue)
Overrides:
put in class Environment

define

public NamedLocation define(Symbol sym,
                            java.lang.Object property,
                            int hash,
                            java.lang.Object newValue)

define

public void define(Symbol sym,
                   java.lang.Object property,
                   java.lang.Object newValue)
Specified by:
define in class Environment

redefineError

protected void redefineError(Symbol name,
                             java.lang.Object property,
                             Location loc)

addLocation

public NamedLocation addLocation(Symbol name,
                                 java.lang.Object property,
                                 Location loc)
Specified by:
addLocation in class Environment

unlink

public Location unlink(Symbol symbol,
                       java.lang.Object property,
                       int hash)
Description copied from class: Environment
Remove Location from this Environment. Does not explicitly undefine the location itself.

Overrides:
unlink in class Environment

remove

public java.lang.Object remove(EnvironmentKey key)
Description copied from class: Environment
Remove and undefine binding. (A more type-specific version of gnu.util.mape.remove.)

Overrides:
remove in class Environment
Returns:
Old value

enumerateLocations

public LocationEnumeration enumerateLocations()
Does not enumerate inherited Locations.

Specified by:
enumerateLocations in class Environment

enumerateAllLocations

public LocationEnumeration enumerateAllLocations()
Does enumerate inherited Locations.

Specified by:
enumerateAllLocations in class Environment

hasMoreElements

protected boolean hasMoreElements(LocationEnumeration it)
Specified by:
hasMoreElements in class Environment

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Throws:
java.io.IOException

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException

readResolve

public java.lang.Object readResolve()
                             throws java.io.ObjectStreamException
Throws:
java.io.ObjectStreamException

entrySet

public java.util.Set entrySet()

toStringVerbose

public java.lang.String toStringVerbose()
Description copied from class: Environment
Overridden in sub-classes - useful for more verbose debug output.

Overrides:
toStringVerbose in class Environment

toStringBase

protected void toStringBase(java.lang.StringBuffer sbuf)