32 const std::string& iFullKeyStr) {
41 return oInventory_ptr;
47 const std::string& iFullKeyStr) {
57 BomManager::getObjectPtr<Inventory> (iInventory,
59 return oInventory_ptr;
70 return oInventory_ptr;
83 return oInventory_ptr;
95 if (oInventory_ptr == NULL) {
96 return oAirlineFeature_ptr;
98 assert (oInventory_ptr != NULL);
100 oAirlineFeature_ptr =
101 BomManager::getObjectPtr<AirlineFeature,Inventory> (*oInventory_ptr,
104 return oAirlineFeature_ptr;
110 const std::string& iFullKeyStr) {
116 if (oInventory_ptr == NULL) {
117 return oFlightDate_ptr;
119 assert (oInventory_ptr != NULL);
125 oFlightDate_ptr = oInventory_ptr->
getFlightDate (lFlightDateKey);
127 return oFlightDate_ptr;
135 const Date_T& iFlightDateDate) {
141 if (oInventory_ptr == NULL) {
142 return oFlightDate_ptr;
144 assert (oInventory_ptr != NULL);
148 iFlightNumber, iFlightDateDate);
150 return oFlightDate_ptr;
156 const std::string& iFullKeyStr) {
165 return oFlightDate_ptr;
177 return oFlightDate_ptr;
184 const Date_T& iFlightDateDate) {
191 return oFlightDate_ptr;
197 const std::string& iFullKeyStr) {
203 if (oFlightDate_ptr == NULL) {
204 return oSegmentDate_ptr;
206 assert (oFlightDate_ptr != NULL);
212 oSegmentDate_ptr = oFlightDate_ptr->
getSegmentDate (lSegmentDateKey);
214 return oSegmentDate_ptr;
220 const std::string& iFullKeyStr) {
227 return oSegmentDate_ptr;
232 if (lFlightDate_ptr == NULL) {
235 return oSegmentDate_ptr;
240 if (oSegmentDate_ptr == NULL) {
243 return oSegmentDate_ptr;
246 return oSegmentDate_ptr;
252 const std::string& iFullKeyStr) {
261 return oSegmentDate_ptr;
267 const std::string& iFullKeyStr) {
274 oLegDate_ptr = iFlightDate.
getLegDate (lLegDateKey);
282 const std::string& iFullKeyStr) {
296 if (oInventory_ptr != NULL) {
301 return oSegmentDate_ptr;
314 return oSegmentDate_ptr;
328 return oSegmentDate_ptr;
334 const std::string& iFullKeyStr,
341 if (lSegmentDate_ptr == NULL) {
342 return oBookingClass_ptr;
344 assert (lSegmentDate_ptr != NULL);
348 BomManager::getObjectPtr<BookingClass> (*lSegmentDate_ptr, iClassCode);
350 return oBookingClass_ptr;
365 getObjectPtr<AirportPair> (iBomRoot, lAirportPairKey.
toString());
367 return oAirportPair_ptr;
379 BomManager::getList<DatePeriod> (iAirportPair);
382 for (DatePeriodList_T::const_iterator itDateRange =
383 lFareDatePeriodList.begin();
384 itDateRange != lFareDatePeriodList.end(); ++itDateRange) {
386 DatePeriod* lCurrentFareDatePeriod_ptr = *itDateRange ;
387 assert (lCurrentFareDatePeriod_ptr != NULL);
390 const bool isDepartureDateValid =
395 if (isDepartureDateValid ==
true) {
396 ioDatePeriodList.push_back(lCurrentFareDatePeriod_ptr);
414 if (oAirportPair_ptr == NULL) {
417 assert (oAirportPair_ptr != NULL);
428 const bool isForFareFamilies) {
436 if (lInventory_ptr == NULL) {
437 std::ostringstream oStr;
438 oStr <<
"The inventory corresponding to the '"
445 if (isForFareFamilies ==
true) {
450 if (lFlightDate_ptr == NULL) {
451 std::ostringstream oStr;
452 oStr <<
"The flight-date corresponding to ("
462 if (lFlightDate_ptr == NULL) {
463 std::ostringstream oStr;
464 oStr <<
"The flight-date corresponding to ("
470 assert(lFlightDate_ptr != NULL);
477 if (lLegDate_ptr == NULL) {
478 std::ostringstream oStr;
479 oStr <<
"The leg-date corresponding to the '"
486 oLegCabin_ptr = lLegDate_ptr->
getLegCabin (lLegCabinKey);
488 if (oLegCabin_ptr == NULL) {
489 std::ostringstream oStr;
490 oStr <<
"The leg-cabin corresponding to the '"
495 assert (oLegCabin_ptr != NULL);
496 return *oLegCabin_ptr;
503 const bool isForFareFamilies) {
511 if (lInventory_ptr == NULL) {
512 std::ostringstream oStr;
513 oStr <<
"The inventory corresponding to the '"
520 if (isForFareFamilies ==
true) {
525 if (lFlightDate_ptr == NULL) {
526 std::ostringstream oStr;
527 oStr <<
"The flight-date corresponding to ("
537 if (lFlightDate_ptr == NULL) {
538 std::ostringstream oStr;
539 oStr <<
"The flight-date corresponding to ("
545 assert(lFlightDate_ptr != NULL);
552 if (lSegmentDate_ptr == NULL) {
553 std::ostringstream oStr;
554 oStr <<
"The segment-date corresponding to the '"
563 BomManager::getObjectPtr<SegmentCabin> (*lSegmentDate_ptr, lSegmentCabinKey.
toString());
565 if (oSegmentCabin_ptr == NULL) {
566 std::ostringstream oStr;
567 oStr <<
"The segment-cabin corresponding to the '"
572 assert (oSegmentCabin_ptr != NULL);
573 return *oSegmentCabin_ptr;
580 std::ostringstream lFullKeyStr;
584 BomManager::getParentPtr<FlightDate>(iSegmentdate);
585 if (lFlightDate_ptr == NULL) {
586 return lFullKeyStr.str();
588 assert (lFlightDate_ptr != NULL);
592 BomManager::getParentPtr<Inventory> (*lFlightDate_ptr);
593 if (lInventory_ptr == NULL) {
594 return lFullKeyStr.str();
596 assert (lInventory_ptr != NULL);
600 lFullKeyStr << lFlightDate_ptr->describeKey()
604 return lFullKeyStr.str();
static stdair::LegCabin & retrieveDummyLegCabin(stdair::BomRoot &, const bool isForFareFamilies=false)
static AirportPair * retrieveAirportPairFromKeySet(const BomRoot &, const stdair::AirportCode_T &, const stdair::AirportCode_T &)
const std::string DEFAULT_KEY_SUB_FLD_DELIMITER
LocationCode_T AirportCode_T
Class representing the actual attributes for an airport-pair.
const Date_T DEFAULT_DEPARTURE_DATE
const std::string toString() const
Class representing the actual attributes for an airline leg-cabin.
const AirportCode_T DEFAULT_ORIGIN
static std::string retrieveFullKeyFromSegmentDate(const SegmentDate &)
unsigned short FlightNumber_T
Class representing the actual attributes for an airline segment-date.
Handle on the StdAir library context.
std::list< DatePeriod * > DatePeriodList_T
SegmentDateKey getSegmentKey() const
LegCabin * getLegCabin(const std::string &iLegCabinKeyStr) const
std::string AirlineCode_T
static BookingClass * retrieveBookingClassFromLongKey(const Inventory &, const std::string &iFullKeyStr, const ClassCode_T &)
static InventoryKey extractInventoryKey(const std::string &iFullKeyStr)
const AirlineCode_T & getAirlineCode() const
const AirportCode_T DEFAULT_DESTINATION
static ParsedKey extractKeys(const std::string &iFullKeyStr)
Key of a given segment-cabin, made of a cabin code (only).
const std::string toString() const
static SegmentDate * retrieveSegmentDateFromKey(const FlightDate &, const SegmentDateKey &)
Key of a given inventory, made of the airline code.
const CabinCode_T DEFAULT_CABIN_CODE
const std::string describeKey() const
const FlightNumber_T DEFAULT_FLIGHT_NUMBER_FF
FlightDateKey getFlightDateKey() const
const std::string describeKey() const
Key of a given flight-date, made of a flight number and a departure date.
static FlightDate * retrieveFlightDateFromKeySet(const BomRoot &, const AirlineCode_T &, const FlightNumber_T &, const Date_T &iFlightDateDate)
SegmentDate * getSegmentDate(const std::string &iSegmentDateKeyStr) const
Class representing the actual attributes for an airline inventory.
static stdair::SegmentCabin & retrieveDummySegmentCabin(stdair::BomRoot &, const bool isForFareFamilies=false)
static FlightDateKey extractFlightDateKey(const std::string &iFullKeyStr)
FlightDate * getFlightDate(const std::string &iFlightDateKeyStr) const
static void retrieveDatePeriodListFromKeySet(const BomRoot &, const stdair::AirportCode_T &, const stdair::AirportCode_T &, const stdair::Date_T &, stdair::DatePeriodList_T &)
const AirlineCode_T & getAirlineCode() const
boost::gregorian::date Date_T
Inventory * getInventory(const std::string &iInventoryKeyStr) const
static FlightDate * retrieveFlightDateFromKey(const Inventory &, const FlightDateKey &)
Class representing the actual attributes for an airline segment-cabin.
static AirlineFeature * retrieveAirlineFeatureFromKey(const BomRoot &, const AirlineCode_T &)
static SegmentDate * retrievePartnerSegmentDateFromLongKey(const Inventory &, const std::string &iFullKeyStr)
Class representing the actual attributes for the Bom root.
Key of a given leg-cabin, made of a cabin code (only).
static Inventory * retrieveInventoryFromLongKey(const BomRoot &, const std::string &iFullKeyStr)
static Inventory * retrieveInventoryFromKey(const BomRoot &, const InventoryKey &)
bool isDepartureDateValid(const Date_T &) const
static SegmentDate * retrieveSegmentDateFromLongKey(const BomRoot &, const std::string &iFullKeyStr)
const FlightNumber_T DEFAULT_FLIGHT_NUMBER
const std::string toString() const
Key of a given segment-date, made of an origin and a destination airports.
static void retrieveDatePeriodListFromKey(const AirportPair &, const stdair::Date_T &, stdair::DatePeriodList_T &)
LegDate * getLegDate(const std::string &iLegDateKeyStr) const
Class representing various configuration parameters (e.g., revenue management methods such EMSRb or M...
Class representing the actual attributes for an airline flight-date.
const AirlineCode_T DEFAULT_AIRLINE_CODE
static LegDate * retrieveOperatingLegDateFromLongKey(const FlightDate &, const std::string &iFullKeyStr)
Class representing the actual attributes for a fare date-period.
static LegDateKey extractLegDateKey(const std::string &iFullKeyStr)
static FlightDate * retrieveFlightDateFromLongKey(const BomRoot &, const std::string &iFullKeyStr)
const std::string toString() const
static SegmentDateKey extractSegmentDateKey(const std::string &iFullKeyStr)
#define STDAIR_LOG_DEBUG(iToBeLogged)