org.onemind.commons.java.datastructure
Class NametableStack

java.lang.Object
  extended byorg.onemind.commons.java.datastructure.NametableStack

public class NametableStack
extends java.lang.Object

A nametable stack contains key-value mapping that has a scope. A new scope can be opened for putting new mappings and all the mappings added in this scope can be wiped out easily with a closeScope command. In effect this is like a stack of Maps, hence the name NametableStack. NOTE: the implementation use a map and list to achieve the behaviour.

Version:
$Id: NametableStack.java,v 1.7 2005/06/22 22:57:37 thlee Exp $ $Name: $
Author:
TiongHiang Lee (thlee@onemindsoft.org)

Constructor Summary
NametableStack()
          {@inheritDoc}
NametableStack(java.util.Map m)
          {@inheritDoc}
 
Method Summary
 java.lang.Object access(java.lang.String name)
          Resolve the value associated with key name
 java.util.Map asMap()
          Return map representation of the nametable stack
 java.lang.Object assign(java.lang.String name, java.lang.Object value)
          Assign name/value pair
 void closeLocalScope(int i)
           
 void closeScope(int l)
          Close a scope
 boolean containsName(java.lang.String name)
          Whether the map contains key name
 void declare(java.lang.String name, java.lang.Object value)
          Declare name value pair
 int newLocalScope()
           
 int newScope()
          Open a new scope for mappings.
 java.lang.String toString()
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NametableStack

public NametableStack()
{@inheritDoc}


NametableStack

public NametableStack(java.util.Map m)
{@inheritDoc}

Parameters:
m - the initial mapping
Method Detail

newScope

public int newScope()
Open a new scope for mappings. Return an integer that represents a scope id

Returns:
the new scope

newLocalScope

public int newLocalScope()

closeLocalScope

public void closeLocalScope(int i)

closeScope

public void closeScope(int l)
Close a scope

Parameters:
l - the scope id

declare

public void declare(java.lang.String name,
                    java.lang.Object value)
Declare name value pair

Parameters:
name -
value -
Returns:

assign

public java.lang.Object assign(java.lang.String name,
                               java.lang.Object value)
Assign name/value pair

Parameters:
name -
value -
Returns:

access

public java.lang.Object access(java.lang.String name)
Resolve the value associated with key name

Parameters:
name - the key
Returns:
the value associated with key

containsName

public boolean containsName(java.lang.String name)
Whether the map contains key name

Parameters:
name - the key
Returns:
true if map contains key name

asMap

public java.util.Map asMap()
Return map representation of the nametable stack

Returns:
the map

toString

public java.lang.String toString()



Copyright © 2004-2006 . All Rights Reserved.