VariableStore Class Reference

This is the wrapper class for the variable store, which implements the lookup and scoping of simple variables. More...

#include <VariableStore.hpp>

Inheritance diagram for VariableStore:

Inheritance graph
[legend]
List of all members.

Public Types

typedef Scope< SequenceMyScope
typedef VarHashEntry< SequenceEntry

Public Member Functions

virtual ~VariableStore ()
 default destructor
virtual void clear ()=0
 Clears all variable values and added scopes from the store.
virtual void addLocalScope ()=0
 Adds a new local scope to the store.
virtual void addLogicalBlockScope ()=0
 Adds a new logical block scope to the store.
virtual void removeScope ()=0
 Removes the top level scope from the store.
virtual MyScopegetScopeState ()=0
 Returns an encapsulation of the state of the variable store.
virtual void setScopeState (MyScope *state)=0
 Sets the variable store to a previous state.
virtual void setGlobalVar (const XMLCh *ident, const Sequence &value, const StaticContext *context, const LocationInfo *location)=0
 Declares and/or sets a variable in the global scope.
virtual void setGlobalVar (const XMLCh *namespaceURI, const XMLCh *name, const Sequence &value, const StaticContext *context)=0
virtual void setVar (const XMLCh *ident, const Sequence &value, const StaticContext *context, const LocationInfo *location)=0
 Declares and/or sets a variable in the top level scope.
virtual void setVar (const XMLCh *namespaceURI, const XMLCh *name, const Sequence &value, const StaticContext *context)=0
virtual void declareVar (const XMLCh *ident, const Sequence &value, const StaticContext *context, const LocationInfo *location)=0
 Declare a var in the top level scope (A full set of these namespaceURI/name pair methods should be made).
virtual void declareVar (const XMLCh *namespaceURI, const XMLCh *name, const Sequence &value, const StaticContext *context)=0
virtual const std::pair< bool,
Sequence
getVar (const XMLCh *ident, const StaticContext *context, const LocationInfo *location) const =0
 Looks up the value of a variable in the current scope, using ident as an qname.
virtual const std::pair< bool,
Sequence
getVar (const XMLCh *namespaceURI, const XMLCh *name, const StaticContext *context) const =0
virtual EntrygetReferenceVar (const XMLCh *ident, const StaticContext *context, const LocationInfo *location) const =0
 Looks up the value of a variable in the current scope, using ident as an qname.
virtual EntrygetReferenceVar (const XMLCh *namespaceURI, const XMLCh *name, const StaticContext *context) const =0
virtual const std::pair< bool,
Sequence
getGlobalVar (const XMLCh *ident, const StaticContext *context, const LocationInfo *location) const =0
 Gets a variable from the global scope.
virtual const std::pair< bool,
Sequence
getGlobalVar (const XMLCh *namespaceURI, const XMLCh *name, const StaticContext *context) const =0
virtual void delVar (const XMLCh *ident, const StaticContext *context, const LocationInfo *location)=0
 Deletes a variable from the current scope.
virtual void delVar (const XMLCh *namespaceURI, const XMLCh *name, const StaticContext *context)=0
virtual void delGlobalVar (const XMLCh *ident, const StaticContext *context, const LocationInfo *location)=0
 Deletes a variable from the global scope.
virtual XMLCh * print (xercesc::MemoryManager *memMgr) const =0
 Gives human readable representation of the variable store.
virtual std::vector< std::pair<
const XMLCh *, const XMLCh * > > 
getVars () const =0
 Returns a vector with the names of the variable currently in scope.

Detailed Description

This is the wrapper class for the variable store, which implements the lookup and scoping of simple variables.


Member Typedef Documentation

typedef VarHashEntry<Sequence> VariableStore::Entry
 

typedef Scope<Sequence> VariableStore::MyScope
 


Constructor & Destructor Documentation

virtual VariableStore::~VariableStore  )  [inline, virtual]
 

default destructor


Member Function Documentation

virtual void VariableStore::addLocalScope  )  [pure virtual]
 

Adds a new local scope to the store.

virtual void VariableStore::addLogicalBlockScope  )  [pure virtual]
 

Adds a new logical block scope to the store.

virtual void VariableStore::clear  )  [pure virtual]
 

Clears all variable values and added scopes from the store.

virtual void VariableStore::declareVar const XMLCh *  namespaceURI,
const XMLCh *  name,
const Sequence value,
const StaticContext context
[pure virtual]
 

virtual void VariableStore::declareVar const XMLCh *  ident,
const Sequence value,
const StaticContext context,
const LocationInfo *  location
[pure virtual]
 

Declare a var in the top level scope (A full set of these namespaceURI/name pair methods should be made).

virtual void VariableStore::delGlobalVar const XMLCh *  ident,
const StaticContext context,
const LocationInfo *  location
[pure virtual]
 

Deletes a variable from the global scope.

virtual void VariableStore::delVar const XMLCh *  namespaceURI,
const XMLCh *  name,
const StaticContext context
[pure virtual]
 

virtual void VariableStore::delVar const XMLCh *  ident,
const StaticContext context,
const LocationInfo *  location
[pure virtual]
 

Deletes a variable from the current scope.

virtual const std::pair<bool, Sequence> VariableStore::getGlobalVar const XMLCh *  namespaceURI,
const XMLCh *  name,
const StaticContext context
const [pure virtual]
 

virtual const std::pair<bool, Sequence> VariableStore::getGlobalVar const XMLCh *  ident,
const StaticContext context,
const LocationInfo *  location
const [pure virtual]
 

Gets a variable from the global scope.

virtual Entry* VariableStore::getReferenceVar const XMLCh *  namespaceURI,
const XMLCh *  name,
const StaticContext context
const [pure virtual]
 

virtual Entry* VariableStore::getReferenceVar const XMLCh *  ident,
const StaticContext context,
const LocationInfo *  location
const [pure virtual]
 

Looks up the value of a variable in the current scope, using ident as an qname.

Returns the VariableStore::Entry for the variable, or null if it doesn't exist

virtual MyScope* VariableStore::getScopeState  )  [pure virtual]
 

Returns an encapsulation of the state of the variable store.

virtual const std::pair<bool, Sequence> VariableStore::getVar const XMLCh *  namespaceURI,
const XMLCh *  name,
const StaticContext context
const [pure virtual]
 

virtual const std::pair<bool, Sequence> VariableStore::getVar const XMLCh *  ident,
const StaticContext context,
const LocationInfo *  location
const [pure virtual]
 

Looks up the value of a variable in the current scope, using ident as an qname.

Returns a boolean (true if successful), and the Sequence value of the variable

virtual std::vector< std::pair<const XMLCh*, const XMLCh*> > VariableStore::getVars  )  const [pure virtual]
 

Returns a vector with the names of the variable currently in scope.

virtual XMLCh* VariableStore::print xercesc::MemoryManager memMgr  )  const [pure virtual]
 

Gives human readable representation of the variable store.

virtual void VariableStore::removeScope  )  [pure virtual]
 

Removes the top level scope from the store.

To be called at the end of methods to implement scoping.

virtual void VariableStore::setGlobalVar const XMLCh *  namespaceURI,
const XMLCh *  name,
const Sequence value,
const StaticContext context
[pure virtual]
 

virtual void VariableStore::setGlobalVar const XMLCh *  ident,
const Sequence value,
const StaticContext context,
const LocationInfo *  location
[pure virtual]
 

Declares and/or sets a variable in the global scope.

virtual void VariableStore::setScopeState MyScope state  )  [pure virtual]
 

Sets the variable store to a previous state.

virtual void VariableStore::setVar const XMLCh *  namespaceURI,
const XMLCh *  name,
const Sequence value,
const StaticContext context
[pure virtual]
 

virtual void VariableStore::setVar const XMLCh *  ident,
const Sequence value,
const StaticContext context,
const LocationInfo *  location
[pure virtual]
 

Declares and/or sets a variable in the top level scope.


The documentation for this class was generated from the following file:
Generated on Fri Jan 19 15:30:56 2007 for XQilla Simple API by  doxygen 1.4.6