TAO_CosTrader 4.0.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
TAO_Constraint_Interpreter Class Reference

TAO_Constraint_Interpreter will, given a constraint string whose syntax and semantics comply with the trader specification for the constraint language, determine if a CosTrading::Offer meets the constraints. More...

#include <Constraint_Interpreter.h>

Inheritance diagram for TAO_Constraint_Interpreter:
Inheritance graph
[legend]
Collaboration diagram for TAO_Constraint_Interpreter:
Collaboration graph
[legend]

Public Member Functions

 TAO_Constraint_Interpreter (const CosTradingRepos::ServiceTypeRepository::TypeStruct &ts, const char *constraints)
 
 TAO_Constraint_Interpreter (TAO_Constraint_Validator &validator, const char *constraints)
 
 ~TAO_Constraint_Interpreter ()
 Destructor.
 
CORBA::Boolean evaluate (CosTrading::Offer *offer)
 
CORBA::Boolean evaluate (TAO_Constraint_Evaluator &evaluator)
 

Additional Inherited Members

- Protected Member Functions inherited from TAO_Interpreter
 TAO_Interpreter ()
 Constructor.
 
 ~TAO_Interpreter ()
 Destructor.
 
int build_tree (const char *preferences)
 
- Static Protected Member Functions inherited from TAO_Interpreter
static int is_empty_string (const char *str)
 
- Protected Attributes inherited from TAO_Interpreter
TAO_Constraintroot_
 

Detailed Description

TAO_Constraint_Interpreter will, given a constraint string whose syntax and semantics comply with the trader specification for the constraint language, determine if a CosTrading::Offer meets the constraints.

TAO_Constraint_Interpreter will first build an expression tree representing the constraint expression using Lex and Yacc. Then, using a TAO_Constraint_Validator, it will validate the semantic correctness of the tree. When the evaluate method is invoked with an Offer, the TAO_Constraint_Interpreter will construct an EvaluationVisitor, which will evaluate the tree and decide whether the offer meets the constraints.

Constructor & Destructor Documentation

◆ TAO_Constraint_Interpreter() [1/2]

TAO_Constraint_Interpreter::TAO_Constraint_Interpreter ( const CosTradingRepos::ServiceTypeRepository::TypeStruct & ts,
const char * constraints )

◆ TAO_Constraint_Interpreter() [2/2]

TAO_Constraint_Interpreter::TAO_Constraint_Interpreter ( TAO_Constraint_Validator & validator,
const char * constraints )

This constructor builds an expression tree representing the constraint specified in constraints, and throws an Illegal Constraint exception if the constraint given has syntax errors or semantic errors, such as mismatched types.

◆ ~TAO_Constraint_Interpreter()

TAO_Constraint_Interpreter::~TAO_Constraint_Interpreter ( )

Destructor.

Member Function Documentation

◆ evaluate() [1/2]

CORBA::Boolean TAO_Constraint_Interpreter::evaluate ( CosTrading::Offer * offer)

◆ evaluate() [2/2]

CORBA::Boolean TAO_Constraint_Interpreter::evaluate ( TAO_Constraint_Evaluator & evaluator)

The documentation for this class was generated from the following files: