Public Member Functions | Protected Member Functions

zeus::TVariableResolver Class Reference

#include <VariableResolver.h>

Inheritance diagram for zeus::TVariableResolver:
zeus::TZObject zeus::IVariableResolver zeus::IZUnknown zeus::IZUnknown zeus::TSettingsVariableResolver

List of all members.

Public Member Functions

 TVariableResolver ()
virtual void MQUALIFIER clearVariables ()
virtual void MQUALIFIER addVariable (const IString &rName, const IString &rValue)
virtual void MQUALIFIER removeVariable (const IString &rName)
virtual Retval MQUALIFIER resolve (const IString &rData, IString &rOut, bool bRecursive)
virtual Retval MQUALIFIER askForInterface (const InterfaceID &rInterfaceID, IZUnknown *&rpIface)
virtual void MQUALIFIER addRef () const
virtual void MQUALIFIER release () const
void addVariables (const TStringMap< TString > &rVariables)
void addVariable (const TString &rName, const TString &rValue)
void removeVariables (const TStringMap< TString > &rVariables)
void removeVariables (const TSet< TString > &rVariables)
void removeVariable (const TString &rName)
Retval resolve (const TString &rData, IString &rOut, bool bRecursive)
void resolveDependancies (const IString &rData, TSet< TString > &rDependancies, bool bRecusrive=false)
void resolveDependancies (const TString &rData, TSet< TString > &rDependancies, bool bRecusrive=false)

Protected Member Functions

virtual ~TVariableResolver ()
virtual Retval resolveVariable (const TString &rName, TString &rValue)
virtual Retval resolve_internal (const IString &rData, IString &rOut, bool bRecursive, TSet< TString > &rReplacedVars)

Detailed Description

This class is used to resolve variable notations inside a string. A variable notation must have the syntax of . This class must be inherited by concrete variable solvers searching and resolving the variables in a defined domain.


Constructor & Destructor Documentation

TVariableResolver::TVariableResolver (  )

creates an abstract variable resolver

TVariableResolver::~TVariableResolver (  ) [protected, virtual]

destroys the abstract variable resolver


Member Function Documentation

virtual void MQUALIFIER zeus::TVariableResolver::addRef (  ) const [virtual]
See also:
IZUnknown::addRef

Reimplemented from zeus::TZObject.

void zeus::TVariableResolver::addVariable ( const TString rName,
const TString rValue 
) [inline]

adds a new variable or overwrites an existing variable

void MQUALIFIER zeus::TVariableResolver::addVariable ( const IString rName,
const IString rValue 
) [inline, virtual]
void TVariableResolver::addVariables ( const TStringMap< TString > &  rVariables )

Adds all variables of a variable map

virtual Retval MQUALIFIER zeus::TVariableResolver::askForInterface ( const InterfaceID rInterfaceID,
IZUnknown *&  rpIface 
) [virtual]
See also:
IZUnknown::askForInterface

Reimplemented from zeus::TZObject.

void MQUALIFIER zeus::TVariableResolver::clearVariables (  ) [inline, virtual]
virtual void MQUALIFIER zeus::TVariableResolver::release (  ) const [virtual]
See also:
IZUnknown::release

Reimplemented from zeus::TZObject.

void zeus::TVariableResolver::removeVariable ( const TString rName ) [inline]

removes a variable

void MQUALIFIER zeus::TVariableResolver::removeVariable ( const IString rName ) [inline, virtual]
void TVariableResolver::removeVariables ( const TStringMap< TString > &  rVariables )

Removes all variables of a variable map

void TVariableResolver::removeVariables ( const TSet< TString > &  rVariables )

Removes all variables of a variable set

Retval MQUALIFIER zeus::TVariableResolver::resolve ( const IString rData,
IString rOut,
bool  bRecursive 
) [inline, virtual]
Retval zeus::TVariableResolver::resolve ( const TString rData,
IString rOut,
bool  bRecursive 
) [inline]

Resolves all variables of a string

Retval TVariableResolver::resolve_internal ( const IString rData,
IString rOut,
bool  bRecursive,
TSet< TString > &  rReplacedVars 
) [protected, virtual]

Checks if the string contains variables and tries to resolve them

mapVars.hasItem(strVarName)

strVarName.isEmpty()

void zeus::TVariableResolver::resolveDependancies ( const TString rData,
TSet< TString > &  rDependancies,
bool  bRecusrive = false 
) [inline]

Resolves all dependancies

void TVariableResolver::resolveDependancies ( const IString rData,
TSet< TString > &  rDependancies,
bool  bRecusrive = false 
)

Resolves all dependancies

rDependancies.hasItem(strRealVarName)

strVarName.isEmpty()

Retval TVariableResolver::resolveVariable ( const TString rName,
TString rValue 
) [protected, virtual]

This method implements the resolving of a variable and returns the concrete value

Reimplemented in zeus::TSettingsVariableResolver.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Sun Jan 22 2012 15:28:41