TAO_Preference_Interpreter Class Reference

The TAO_Preference_Interpreter will, given a valid preference string and offers, will order the offers based on the offers' compliance with the preferences. More...

#include <Constraint_Interpreter.h>

Inheritance diagram for TAO_Preference_Interpreter:

Inheritance graph
[legend]
Collaboration diagram for TAO_Preference_Interpreter:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ACE_Unbounded_Queue<
Preference_Info
Ordered_Offers

Public Member Functions

 TAO_Preference_Interpreter (const CosTradingRepos::ServiceTypeRepository::TypeStruct &ts, const char *preference)
 TAO_Preference_Interpreter (TAO_Constraint_Validator &validator, const char *preference)
 ~TAO_Preference_Interpreter (void)
 Destructor.
void order_offer (CosTrading::Offer *offer, CosTrading::OfferId offer_id=0)
void order_offer (TAO_Constraint_Evaluator &evaluator, CosTrading::Offer *offer, CosTrading::OfferId offer_id=0)
int remove_offer (CosTrading::Offer *&offer, CosTrading::OfferId &offer_id)
int remove_offer (CosTrading::Offer *&offer)
size_t num_offers (void)
 Return the number of offers remaining in the ordering.

Private Member Functions

 TAO_Preference_Interpreter (const TAO_Preference_Interpreter &)
 Disallow copying.
TAO_Preference_Interpreteroperator= (const TAO_Preference_Interpreter &)

Private Attributes

Ordered_Offers offers_
 The ordered list of offers.

Classes

struct  Preference_Info

Detailed Description

The TAO_Preference_Interpreter will, given a valid preference string and offers, will order the offers based on the offers' compliance with the preferences.

Each time the order_offer method is invoked, the TAO_Preference_Interpreter stores the offer reference in the order dictated by its evaluation of the preference string. After the TAO_Preference_Interpreter client has finished ordering all the offers, it will extract the offers in order using the remove_offer method.


Member Typedef Documentation

typedef ACE_Unbounded_Queue<Preference_Info> TAO_Preference_Interpreter::Ordered_Offers


Constructor & Destructor Documentation

TAO_Preference_Interpreter::TAO_Preference_Interpreter ( const CosTradingRepos::ServiceTypeRepository::TypeStruct ts,
const char *  preference 
)

TAO_Preference_Interpreter::TAO_Preference_Interpreter ( TAO_Constraint_Validator validator,
const char *  preference 
)

Parse the preference string, determining first if it's valid. Throw an IllegalPreference exception if the preference doesn't conform to the BNF grammar for preferences.

TAO_Preference_Interpreter::~TAO_Preference_Interpreter ( void   ) 

Destructor.

TAO_Preference_Interpreter::TAO_Preference_Interpreter ( const TAO_Preference_Interpreter  )  [private]

Disallow copying.


Member Function Documentation

size_t TAO_Preference_Interpreter::num_offers ( void   ) 

Return the number of offers remaining in the ordering.

TAO_Preference_Interpreter& TAO_Preference_Interpreter::operator= ( const TAO_Preference_Interpreter  )  [private]

void TAO_Preference_Interpreter::order_offer ( TAO_Constraint_Evaluator evaluator,
CosTrading::Offer offer,
CosTrading::OfferId  offer_id = 0 
)

Evaluate the offer, and order it internally based on the results of the evaluation.

void TAO_Preference_Interpreter::order_offer ( CosTrading::Offer offer,
CosTrading::OfferId  offer_id = 0 
)

int TAO_Preference_Interpreter::remove_offer ( CosTrading::Offer *&  offer  ) 

Remove the next offer. The offer returned will be the next in the ordering determined by the preference string.

int TAO_Preference_Interpreter::remove_offer ( CosTrading::Offer *&  offer,
CosTrading::OfferId offer_id 
)


Member Data Documentation

Ordered_Offers TAO_Preference_Interpreter::offers_ [private]

The ordered list of offers.


The documentation for this class was generated from the following files:
Generated on Mon Apr 30 23:38:01 2007 for TAO_CosTrader by  doxygen 1.4.7-1