ZeusBase-Library  2.0.4
zeus::TVariableResolver Class Reference

#include <VariableResolver.h>

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

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)
 
- Public Member Functions inherited from zeus::TZObject
 TZObject ()
 
 TZObject (const TString &strName)
 
 TZObject (const IString &strName)
 
Uint getHash () const
 
TString toString () const
 
virtual TString getObjName () const
 
virtual void setObjName (const TString &name)
 

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)
 
- Protected Member Functions inherited from zeus::TZObject
virtual ~TZObject ()
 
 TZObject (const TZObject &rObject)
 
TZObjectoperator= (const TZObject &rObject)
 
Int getRefCounter () const
 

Additional Inherited Members

- Protected Attributes inherited from zeus::TZObject
Uint m_uiID
 

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::TVariableResolver ( )

creates an abstract variable resolver

§ ~TVariableResolver()

TVariableResolver::~TVariableResolver ( )
protectedvirtual

destroys the abstract variable resolver

Member Function Documentation

§ addRef()

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

Reimplemented from zeus::TZObject.

§ addVariable() [1/2]

void MQUALIFIER zeus::TVariableResolver::addVariable ( const IString rName,
const IString rValue 
)
inlinevirtual

§ addVariable() [2/2]

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

adds a new variable or overwrites an existing variable

§ addVariables()

void TVariableResolver::addVariables ( const TStringMap< TString > &  rVariables)

Adds all variables of a variable map

§ askForInterface()

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

Reimplemented from zeus::TZObject.

§ clearVariables()

void MQUALIFIER zeus::TVariableResolver::clearVariables ( )
inlinevirtual

§ release()

virtual void MQUALIFIER zeus::TVariableResolver::release ( ) const
virtual
See also
IZUnknown::release

Reimplemented from zeus::TZObject.

§ removeVariable() [1/2]

void MQUALIFIER zeus::TVariableResolver::removeVariable ( const IString rName)
inlinevirtual

§ removeVariable() [2/2]

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

removes a variable

§ removeVariables() [1/2]

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

Removes all variables of a variable map

§ removeVariables() [2/2]

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

Removes all variables of a variable set

§ resolve() [1/2]

Retval MQUALIFIER zeus::TVariableResolver::resolve ( const IString rData,
IString rOut,
bool  bRecursive 
)
inlinevirtual

§ resolve() [2/2]

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

Resolves all variables of a string

§ resolve_internal()

Retval TVariableResolver::resolve_internal ( const IString rData,
IString rOut,
bool  bRecursive,
TSet< TString > &  rReplacedVars 
)
protectedvirtual

Checks if the string contains variables and tries to resolve them

mapVars.hasItem(strVarName)

strVarName.isEmpty()

§ resolveDependancies() [1/2]

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

Resolves all dependancies

rDependancies.hasItem(strRealVarName)

strVarName.isEmpty()

§ resolveDependancies() [2/2]

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

Resolves all dependancies

§ resolveVariable()

Retval TVariableResolver::resolveVariable ( const TString rName,
TString rValue 
)
protectedvirtual

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:


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Tue Sep 13 2016 22:32:15