org.apache.torque.generator.variable
Class VariableStore

java.lang.Object
  extended by org.apache.torque.generator.variable.VariableStore

public class VariableStore
extends Object

Stores all variables which are currently accessible.


Constructor Summary
VariableStore()
           
 
Method Summary
 void clear()
          Removes all variables from this store.
 void endFile()
          Signals this store that the processing of one file has ended.
 void endGeneration()
          Signals this store that generation has ended.
 void endOutlet()
          Signals this store that the processing of a outlet has ended.
 QualifiedNameMap<Variable> getContent()
          Returns a map with the variables contained in this store.
 Variable getInHierarchy(QualifiedName key)
          Returns the most specific variable which is visible from the key's namespace and has the same name as the key's name.
 void remove(Variable variable)
          removes a variable from the store.
 void set(Variable variable)
          Sets a variable.
 void startOutlet()
          Signals this store that the processing of a outlet has started.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VariableStore

public VariableStore()
Method Detail

set

public void set(Variable variable)
Sets a variable.

Parameters:
variable - the variable to set.
Throws:
NullPointerException - if variable is null.

remove

public void remove(Variable variable)
removes a variable from the store.

Parameters:
variable - the variable to remove, not null.
Throws:
NullPointerException - if variable is null.

startOutlet

public void startOutlet()
Signals this store that the processing of a outlet has started.


endOutlet

public void endOutlet()
Signals this store that the processing of a outlet has ended. Removes all variables with the scope Variable.Scope.OUTLET, and all variables with the scope Variable.Scope.CHILDREN which were set by the outlet which processing ended.


endFile

public void endFile()
Signals this store that the processing of one file has ended. Removes all variables with the scope FILE.


endGeneration

public void endGeneration()
Signals this store that generation has ended. Removes the variables from all scopes.


clear

public void clear()
Removes all variables from this store.


getContent

public QualifiedNameMap<Variable> getContent()
Returns a map with the variables contained in this store. Note that if one variable is hidden by another with a more specific scope, only the variable with the more specific scope is returned.

The Map is not backed by this stores, i.e. adding and removing variables to the returned nmap has no effect on this store. However, the variables in the returned map are the variables in this store, i.e. setting the value of the variable will change the variable in this store.

Note: The current store content is rebuilt each time this method is called. For this reason, store.getInHierarchy(qualifiedName) is much faster than store.getContent().get(qualifiedName).

Returns:
a map with the variables contained ins this store, never null.

getInHierarchy

public Variable getInHierarchy(QualifiedName key)
Returns the most specific variable which is visible from the key's namespace and has the same name as the key's name. if several most specific variables are found in the different scopes, the one with the most specific scope is returned.

Parameters:
key - The key for the variable.
Returns:
the most specific matching variable, or null if no variable matches.


Copyright © 2000-2012 The Apache Software Foundation. All Rights Reserved.