#include <Notify_Constraint_Interpreter.h>
Public Member Functions | |
TAO_Notify_Constraint_Interpreter (void) | |
virtual | ~TAO_Notify_Constraint_Interpreter (void) |
Destructor. | |
void | build_tree (const char *constraints) |
CORBA::Boolean | evaluate (TAO_Notify_Constraint_Visitor &evaluator) |
Definition at line 38 of file Notify_Constraint_Interpreter.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Notify_Constraint_Interpreter::TAO_Notify_Constraint_Interpreter | ( | void | ) |
TAO_Notify_Constraint_Interpreter::~TAO_Notify_Constraint_Interpreter | ( | void | ) | [virtual] |
void TAO_Notify_Constraint_Interpreter::build_tree | ( | const char * | constraints | ) |
This method 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.
Definition at line 21 of file Notify_Constraint_Interpreter.cpp.
References ACE_NEW_THROW_EX.
00024 { 00025 if (ETCL_Interpreter::is_empty_string (constraints)) 00026 { 00027 // Root is deleted in the TAO_Interpreter's destructor. 00028 ACE_NEW_THROW_EX (this->root_, 00029 ETCL_Literal_Constraint (true), 00030 CORBA::NO_MEMORY ()); 00031 } 00032 else 00033 { 00034 // root_ is set in this base class call. 00035 if (ETCL_Interpreter::build_tree (constraints) != 0) 00036 { 00037 throw CosNotifyFilter::InvalidConstraint (); 00038 } 00039 } 00040 }
CORBA::Boolean TAO_Notify_Constraint_Interpreter::evaluate | ( | TAO_Notify_Constraint_Visitor & | evaluator | ) |
Returns true if the constraint is evaluated successfully by the evaluator.
Definition at line 43 of file Notify_Constraint_Interpreter.cpp.
References TAO_Notify_Constraint_Visitor::evaluate_constraint().
00044 { 00045 return evaluator.evaluate_constraint (this->root_); 00046 }