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 Scope<Sequence> VariableStore::MyScope

typedef VarHashEntry<Sequence> VariableStore::Entry


Constructor & Destructor Documentation

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

default destructor


Member Function Documentation

virtual void VariableStore::clear (  )  [pure virtual]

Clears all variable values and added scopes from the store.

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::removeScope (  )  [pure virtual]

Removes the top level scope from the store.

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

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

Returns an encapsulation of the state of the variable store.

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

Sets the variable store to a previous state.

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::setGlobalVar ( 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.

virtual void VariableStore::setVar ( 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::declareVar ( const XMLCh *  namespaceURI,
const XMLCh *  name,
const Sequence value,
const StaticContext context 
) [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 const std::pair<bool, Sequence> VariableStore::getVar ( 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 Entry* VariableStore::getReferenceVar ( 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 const std::pair<bool, Sequence> VariableStore::getGlobalVar ( const XMLCh *  namespaceURI,
const XMLCh *  name,
const StaticContext context 
) const [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 void VariableStore::delVar ( const XMLCh *  namespaceURI,
const XMLCh *  name,
const StaticContext context 
) [pure virtual]

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

Deletes a variable from the global scope.

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

Gives human readable representation of the variable store.

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.


The documentation for this class was generated from the following file:
Generated on Wed Dec 12 19:14:03 2007 for XQilla Simple API by  doxygen 1.5.1