//## 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%41F608450399.cm preserve=no //## end module%41F608450399.cm //## begin module%41F608450399.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%41F608450399.cp //## Module: TransactionSpecificationValue%41F608450399; Pseudo Package specification //## Subsystem: MASS::Dev::Tools::TxnTestManager::src%41F5A79001E4 //## Source file: Z:\MASS_Dev\Tools\TxnTestManager\src\TransactionSpecificationValue.h #ifndef TransactionSpecificationValue_h #define TransactionSpecificationValue_h 1 //## begin module%41F608450399.additionalIncludes preserve=no //## end module%41F608450399.additionalIncludes //## begin module%41F608450399.includes preserve=yes #include #include //## end module%41F608450399.includes // FieldExpression #include "FieldExpression.h" class TransactionSpecification; class DefinedVariableTable; class EvaluationContext; //## begin module%41F608450399.additionalDeclarations preserve=yes //## end module%41F608450399.additionalDeclarations //## begin TransactionSpecificationValue%41F608450399.preface preserve=yes //## end TransactionSpecificationValue%41F608450399.preface //## Class: TransactionSpecificationValue%41F608450399; private // A value of a field in a transaction specification. During transaction // generation, specifications are instantiated by evaluating its values. //## Category: TransactionTestManager::Transaction Specification%41FD9D7902B3 //## Subsystem: MASS::Dev::Tools::TxnTestManager::src%41F5A79001E4 //## Persistence: Transient //## Cardinality/Multiplicity: n //## Uses: %420472570148;Iteration { -> } //## Uses: %4204725F0233;TestScenario { -> } //## Uses: %4204728C01D5;XMLSchema::IXmlSchemaWrapperSchema { -> } //## Uses: %420AD8DF0202;DefinedVariableTable { -> F} //## Uses: %421176A70068;EvaluationContext { -> F} class TransactionSpecificationValue { //## begin TransactionSpecificationValue%41F608450399.initialDeclarations preserve=yes //## end TransactionSpecificationValue%41F608450399.initialDeclarations public: //## Constructors (specified) //## Operation: TransactionSpecificationValue%420429860176 // This constructor creates an instance for a given xpath. TransactionSpecificationValue (const std::string &xPath, // The xpath of the field. TransactionSpecification& transaction // The transaction for which this field is defined. While we do not accept // ownership over this instance, we do assume its validity for the remainder // of our lifetime. ); //## Operation: TransactionSpecificationValue%41F705C90020 // This constructor expects values for all attributes. TransactionSpecificationValue (const std::string &xPath, // The xpath of the field. const std::string &value, // The value. const bool &obsolete // Of value true when the value is obsolete, and of value false otherwise. ); //## Destructor (generated) virtual ~TransactionSpecificationValue(); //## Other Operations (specified) //## Operation: evaluate%420AC7E6015D // Evaluate the expression of this field, and evaluate to true, or to false // when any expression cannot be evaluated. const bool evaluate (std::string &value, // The resulting value. const bool &sideEffect, // When true, evaluation is allowed to have side effects, otherwise side // effects must be suppressed. For example, when true, a call to a sequence // generator may allocate a new number from the sequence: when false, the call // must not change the sate of the sequence generator. // // One usage of this: when generating a transaction side effects are allowed, // when rendering the hint to display for a field value side effects are not // allowed. EvaluationContext& evaluationContext, // The evaluation context. bool &postponed // Set the actual argument to true when evaluation is postponed, and to false // otherwise. ); //## Operation: getExpression%41F7167C0014 // Evaluate to the expression of this instance. const std::string & getExpression () const; //## Operation: getXPath%41F766AF01D4 // Evaluate to the xpath of this instance. const std::string & getXPath () const; //## Operation: isMarked%41F7058D0276 // Evaluate to true when this value is marked, and to false otherwise. const bool isMarked () const; //## Operation: isObsolete%41F7228502A8 // Evaluate to true when this value is obsolete, and to false otherwise. const bool isObsolete () const; //## Operation: mark%41F705930342 // Mark this value. void mark (); //## Operation: setExpression%42042A51030C // Set the expression of this instance, and evaluate to the resulting value. const std::string & setExpression (const std::string &value // The value. ); //## Operation: unmark%41F7070602A0 // Unmark this value. void unmark (); // Additional Public Declarations //## begin TransactionSpecificationValue%41F608450399.public preserve=yes //## end TransactionSpecificationValue%41F608450399.public protected: // Additional Protected Declarations //## begin TransactionSpecificationValue%41F608450399.protected preserve=yes //## end TransactionSpecificationValue%41F608450399.protected private: //## Constructors (generated) TransactionSpecificationValue(); TransactionSpecificationValue(const TransactionSpecificationValue &right); //## Assignment Operation (generated) TransactionSpecificationValue & operator=(const TransactionSpecificationValue &right); // Data Members for Class Attributes //## Attribute: marked%41F704800286 // Of value true when this field is marked, and false otherwise. //## begin TransactionSpecificationValue::marked%41F704800286.attr preserve=no private: bool {VA} false bool m_marked; //## end TransactionSpecificationValue::marked%41F704800286.attr //## Attribute: obsolete%41F7222B01BE // Of value true when the value is obsolete, and of value false otherwise. //## begin TransactionSpecificationValue::obsolete%41F7222B01BE.attr preserve=no private: bool {VA} bool m_obsolete; //## end TransactionSpecificationValue::obsolete%41F7222B01BE.attr //## Attribute: inPayload%41F763980317 // When true, the value is in the payload, otherwise it is in the header. //## begin TransactionSpecificationValue::inPayload%41F763980317.attr preserve=no private: bool {VA} bool m_inPayload; //## end TransactionSpecificationValue::inPayload%41F763980317.attr //## Attribute: xPath%41F7044B0228 // The xpath of the field. //## begin TransactionSpecificationValue::xPath%41F7044B0228.attr preserve=no private: std::string {VA} std::string m_xPath; //## end TransactionSpecificationValue::xPath%41F7044B0228.attr // Data Members for Associations //## Association: TransactionTestManager::Transaction Generation::%4204701D02DA //## Role: TransactionSpecificationValue::transaction%4204701E002B // The transaction for which this field is defined. While we do not accept // ownership over this instance, we do assume its validity for the remainder of // our lifetime. //## begin TransactionSpecificationValue::transaction%4204701E002B.role preserve=no private: TransactionSpecification {1 -> 1RFHAN} TransactionSpecification *m_transaction; //## end TransactionSpecificationValue::transaction%4204701E002B.role //## Association: TransactionTestManager::Symbol Table::%420AC6610015 //## Role: TransactionSpecificationValue::expression%420AC661015D // expression //## begin TransactionSpecificationValue::expression%420AC661015D.role preserve=no private: FieldExpression {1 -> 1VHgAN} FieldExpression m_expression; //## end TransactionSpecificationValue::expression%420AC661015D.role // Additional Private Declarations //## begin TransactionSpecificationValue%41F608450399.private preserve=yes //## end TransactionSpecificationValue%41F608450399.private private: //## implementation // Additional Implementation Declarations //## begin TransactionSpecificationValue%41F608450399.implementation preserve=yes //## end TransactionSpecificationValue%41F608450399.implementation }; //## begin TransactionSpecificationValue%41F608450399.postscript preserve=yes //## end TransactionSpecificationValue%41F608450399.postscript // Class TransactionSpecificationValue //## begin module%41F608450399.epilog preserve=yes //## end module%41F608450399.epilog #endif