Subversion Repositories DevTools

Rev

Rev 2218 | Blame | Compare with Previous | Last modification | View Log | RSS feed

//## begin module%1.7%.codegen_version preserve=yes
//   Read the documentation to learn more about C++ code generator
//   versioning.
//## end module%1.7%.codegen_version

//## begin module%4209C5FB02C3.cm preserve=no
//## end module%4209C5FB02C3.cm

//## begin module%4209C5FB02C3.cp preserve=no
//      C O P Y R I G H T   N O T I C E
//      This material is confidential to ERG and may not be disclosed in whole
//      or in part to any third party nor used in any manner whatsoever other
//      than for the purposes expressly consented to by ERG in writing.
//
//      This material is also copyright and may not be reproduced, stored in a
//      retrieval system or transmitted in any form or by any means in whole or
//      in part without the express written consent of ERG.
//## end module%4209C5FB02C3.cp

//## Module: DefinedVariableTable%4209C5FB02C3; Pseudo Package specification
//## Subsystem: MASS::Dev::Tools::TxnTestManager::src%41F5A79001E4
//## Source file: Z:\MASS_Dev\Tools\TxnTestManager\src\DefinedVariableTable.h

#ifndef DefinedVariableTable_h
#define DefinedVariableTable_h 1

//## begin module%4209C5FB02C3.additionalIncludes preserve=no
//## end module%4209C5FB02C3.additionalIncludes

//## begin module%4209C5FB02C3.includes preserve=yes
#include <map>
#include <string>
//## end module%4209C5FB02C3.includes


class TestScenario;
class EvaluationContext;
class DefinedVariable;

//## begin module%4209C5FB02C3.additionalDeclarations preserve=yes
//## end module%4209C5FB02C3.additionalDeclarations


//## begin DefinedVariableTable%4209C5FB02C3.preface preserve=yes
//## end DefinedVariableTable%4209C5FB02C3.preface

//## Class: DefinedVariableTable%4209C5FB02C3
//      The table of defined variables and their values.
//## Category: TransactionTestManager::Symbol Table%4209C5C30033
//## Subsystem: MASS::Dev::Tools::TxnTestManager::src%41F5A79001E4
//## Persistence: Transient
//## Cardinality/Multiplicity: n



//## Uses: <unnamed>%425B4A730208;EvaluationContext { -> F}
//## Uses: <unnamed>%425B4DE70183;TransactionSpecification { -> }

class DefinedVariableTable 
{
  //## begin DefinedVariableTable%4209C5FB02C3.initialDeclarations preserve=yes
  //## end DefinedVariableTable%4209C5FB02C3.initialDeclarations

  public:
    //## Constructors (generated)
      DefinedVariableTable();

    //## Destructor (generated)
      virtual ~DefinedVariableTable();


    //## Other Operations (specified)
      //## Operation: clear%4209C916032F
      //        Clear the table.
      void clear ();

      //## Operation: defineVariable%425B4483019F
      //        Define the given variable and evaluate to it.
      DefinedVariable& defineVariable (const std::string &variableName  // The name of the variable.
      );

      //## Operation: defineVariable%425B461402A1
      //        Define the given variable and evaluate to it.
      DefinedVariable& defineVariable (const std::string &variableName,         // The name of the variable.
      TestScenario &testScenario        // The test scenario.  While we do not accept ownership over this object, we
        // do assume its validity for the remainder of our lifetime.
      );

      //## Operation: getVariable%4209C7770264
      //        Evaluate to the given variable.
      DefinedVariable& getVariable (const std::string &variableName,    // The name of the variable.
      EvaluationContext& context        // The context of this query.
      );

      //## Operation: isVariable%420ACFBB01CE
      //        Evaluate to true when the given symbol is a variable, otherwise evaluate to
      //        false.
      const bool isVariable (const std::string &symbol,         // The symbol.
      EvaluationContext& context        // The context of this query.
      ) const;

    // Additional Public Declarations
      //## begin DefinedVariableTable%4209C5FB02C3.public preserve=yes
      //## end DefinedVariableTable%4209C5FB02C3.public

  protected:
    // Additional Protected Declarations
      //## begin DefinedVariableTable%4209C5FB02C3.protected preserve=yes
      //## end DefinedVariableTable%4209C5FB02C3.protected

  private:
    //## Constructors (generated)
      DefinedVariableTable(const DefinedVariableTable &right);

    //## Assignment Operation (generated)
      DefinedVariableTable & operator=(const DefinedVariableTable &right);

    // Data Members for Associations

      //## Association: TransactionTestManager::Symbol Table::<unnamed>%4209C65E02D3
      //## Role: DefinedVariableTable::variable%4209C65F0013
      //        The collection of defined variables.
      //## Qualifier: variableName%4209C66701AA; std::string
      //        The name of the variable.
      //## begin DefinedVariableTable::variable%4209C65F0013.role preserve=no  private: DefinedVariable {1 -> 1RFHgAN}
      std::map<std::string, DefinedVariable *> m_variable;
      //## end DefinedVariableTable::variable%4209C65F0013.role

      //## Association: TransactionTestManager::Symbol Table::<unnamed>%425B3802027D
      //## Role: DefinedVariableTable::scenario%425B380203D5
      //        The collection of scenarios for which scenario-specific variables are
      //        defined.
      //## Qualifier: testScenario%425B380900E7; int
      //        The test scenario to which this variable applies.
      //## begin DefinedVariableTable::scenario%425B380203D5.role preserve=no  private: TestScenario {1 -> 1RFHAN}
      std::map<int, TestScenario *> m_scenario;
      //## end DefinedVariableTable::scenario%425B380203D5.role

    // Additional Private Declarations
      //## begin DefinedVariableTable%4209C5FB02C3.private preserve=yes
      //## end DefinedVariableTable%4209C5FB02C3.private

  private: //## implementation
    // Additional Implementation Declarations
      //## begin DefinedVariableTable%4209C5FB02C3.implementation preserve=yes
      //## end DefinedVariableTable%4209C5FB02C3.implementation

};

//## begin DefinedVariableTable%4209C5FB02C3.postscript preserve=yes
//## end DefinedVariableTable%4209C5FB02C3.postscript

// Class DefinedVariableTable 

//## begin module%4209C5FB02C3.epilog preserve=yes
//## end module%4209C5FB02C3.epilog


#endif