StdAir Logo  0.45.0
C++ Standard Airline IT Object Library
stdair::BomRetriever Class Reference

Utility class to retrieve StdAir objects. More...

#include <stdair/bom/BomRetriever.hpp>

List of all members.

Static Public Member Functions

static Inventory * retrieveInventoryFromLongKey (const BomRoot &, const std::string &iFullKeyStr)
static Inventory * retrieveInventoryFromKey (const BomRoot &, const InventoryKey &)
static Inventory * retrieveInventoryFromKey (const BomRoot &, const AirlineCode_T &)
static FlightDate * retrieveFlightDateFromLongKey (const BomRoot &, const std::string &iFullKeyStr)
static FlightDate * retrieveFlightDateFromKeySet (const BomRoot &, const AirlineCode_T &, const FlightNumber_T &, const Date_T &iFlightDateDate)
static FlightDate * retrieveFlightDateFromLongKey (const Inventory &, const std::string &iFullKeyStr)
static FlightDate * retrieveFlightDateFromKey (const Inventory &, const FlightDateKey &)
static FlightDate * retrieveFlightDateFromKey (const Inventory &, const FlightNumber_T &, const Date_T &iFlightDateDate)
static SegmentDate * retrieveSegmentDateFromLongKey (const BomRoot &, const std::string &iFullKeyStr)
static SegmentDate * retrieveSegmentDateFromLongKey (const Inventory &, const std::string &iFullKeyStr)
static SegmentDate * retrieveSegmentDateFromLongKey (const FlightDate &, const std::string &iFullKeyStr)
static SegmentDate * retrieveSegmentDateFromKey (const FlightDate &, const SegmentDateKey &)
static SegmentDate * retrieveSegmentDateFromKey (const FlightDate &, const AirportCode_T &iOrigin, const AirportCode_T &iDestination)
static BookingClass * retrieveBookingClassFromLongKey (const Inventory &, const std::string &iFullKeyStr, const ClassCode_T &)
static AirportPair * retrieveAirportPairFromKeySet (const BomRoot &, const stdair::AirportCode_T &, const stdair::AirportCode_T &)
static void retrieveDatePeriodListFromKey (const AirportPair &, const stdair::Date_T &, stdair::DatePeriodList_T &)
static void retrieveDatePeriodListFromKeySet (const BomRoot &, const stdair::AirportCode_T &, const stdair::AirportCode_T &, const stdair::Date_T &, stdair::DatePeriodList_T &)
static stdair::LegCabin & retrieveDummyLegCabin (stdair::BomRoot &)
static stdair::SegmentCabin & retrieveDummySegmentCabin (stdair::BomRoot &)

Detailed Description

Utility class to retrieve StdAir objects.


Member Function Documentation

Inventory * stdair::BomRetriever::retrieveInventoryFromLongKey ( const BomRoot &  iBomRoot,
const std::string &  iFullKeyStr 
) [static]

Retrieve an Inventory object from a (full) key string.

The full key string gathers airline code, flight number, origin and destination, cabin and booking class. It corresponds to the output generated by the toString() methods of the XxxKey structures.

Parameters:
constBomRoot& The root of the BOM tree.
conststd::string& The full key string.
Returns:
Inventory* The just retrieved Inventory object.

Definition at line 29 of file BomRetriever.cpp.

References stdair::BomKeyManager::extractInventoryKey(), and stdair::BomRoot::getInventory().

Referenced by retrieveFlightDateFromLongKey().

Inventory * stdair::BomRetriever::retrieveInventoryFromKey ( const BomRoot &  iBomRoot,
const InventoryKey &  iKey 
) [static]

Retrieve an Inventory object from an InventoryKey structure.

Parameters:
constBomRoot& The root of the BOM tree.
constInventoryKey& The key.
Returns:
Inventory* The just retrieved Inventory object.

Definition at line 43 of file BomRetriever.cpp.

References stdair::BomRoot::getInventory().

Referenced by retrieveFlightDateFromKeySet(), retrieveDummyLegCabin(), and retrieveDummySegmentCabin().

Inventory * stdair::BomRetriever::retrieveInventoryFromKey ( const BomRoot &  iBomRoot,
const AirlineCode_T &  iAirlineCode 
) [static]

Retrieve an Inventory object from an InventoryKey structure.

Parameters:
constBomRoot& The root of the BOM tree.
constAirlineCode_T& The key.
Returns:
Inventory* The just retrieved Inventory object.

Definition at line 55 of file BomRetriever.cpp.

References stdair::BomRoot::getInventory().

FlightDate * stdair::BomRetriever::retrieveFlightDateFromLongKey ( const BomRoot &  iBomRoot,
const std::string &  iFullKeyStr 
) [static]

Retrieve a FlightDate object from a (full) key string.

The full key string gathers airline code, flight number, origin and destination, cabin and booking class. It corresponds to the output generated by the toString() methods of the XxxKey structures.

Parameters:
constBomRoot& The root of the BOM tree.
conststd::string& The full key string.
Returns:
FlightDate* The just retrieved FlightDate object.

Definition at line 68 of file BomRetriever.cpp.

References retrieveInventoryFromLongKey(), stdair::BomKeyManager::extractFlightDateKey(), and stdair::Inventory::getFlightDate().

Referenced by retrieveSegmentDateFromLongKey().

FlightDate * stdair::BomRetriever::retrieveFlightDateFromKeySet ( const BomRoot &  iBomRoot,
const AirlineCode_T &  iAirlineCode,
const FlightNumber_T &  iFlightNumber,
const Date_T &  iFlightDateDate 
) [static]

Retrieve a FlightDate object from a set of keys.

Parameters:
constBomRoot& The root of the BOM tree.
constAirlineCode_T& The key.
constFlightNumber_T& Part of the key.
constDate_T& Part of the key.
Returns:
FlightDate* The just retrieved FlightDate object.

Definition at line 91 of file BomRetriever.cpp.

References retrieveInventoryFromKey(), and retrieveFlightDateFromKey().

Referenced by stdair::STDAIR_Service::jsonExport(), stdair::STDAIR_Service::check(), and stdair::STDAIR_Service::csvDisplay().

FlightDate * stdair::BomRetriever::retrieveFlightDateFromLongKey ( const Inventory &  iInventory,
const std::string &  iFullKeyStr 
) [static]

Retrieve a FlightDate object from a (full) key string.

The full key string gathers airline code, flight number, origin and destination, cabin and booking class. It corresponds to the output generated by the toString() methods of the XxxKey structures.

Parameters:
constInventory& The root of the BOM tree.
conststd::string& The full key string.
Returns:
FlightDate* The just retrieved FlightDate object.

Definition at line 114 of file BomRetriever.cpp.

References stdair::BomKeyManager::extractFlightDateKey(), and stdair::Inventory::getFlightDate().

FlightDate * stdair::BomRetriever::retrieveFlightDateFromKey ( const Inventory &  iInventory,
const FlightDateKey &  iKey 
) [static]

Retrieve a FlightDate object from an FlightDateKey structure.

Parameters:
constInventory& The root of the BOM tree.
constFlightDateKey& The key.
Returns:
FlightDate* The just retrieved FlightDate object.

Definition at line 129 of file BomRetriever.cpp.

References stdair::Inventory::getFlightDate().

Referenced by retrieveFlightDateFromKeySet(), retrieveSegmentDateFromLongKey(), retrieveDummyLegCabin(), and retrieveDummySegmentCabin().

FlightDate * stdair::BomRetriever::retrieveFlightDateFromKey ( const Inventory &  iInventory,
const FlightNumber_T &  iFlightNumber,
const Date_T &  iFlightDateDate 
) [static]

Retrieve a FlightDate object from an FlightDateKey structure.

Parameters:
constInventory& The root of the BOM tree.
constFlightNumber_T& Part of the key.
constDate_T& Part of the key.
Returns:
FlightDate* The just retrieved FlightDate object.

Definition at line 141 of file BomRetriever.cpp.

References stdair::Inventory::getFlightDate().

SegmentDate * stdair::BomRetriever::retrieveSegmentDateFromLongKey ( const BomRoot &  iBomRoot,
const std::string &  iFullKeyStr 
) [static]

Retrieve a SegmentDate object from a (full) key string.

The full key string gathers airline code, segment number, origin and destination, cabin and booking class. It corresponds to the output generated by the toString() methods of the XxxKey structures.

Parameters:
constBomRoot& The root of the BOM tree.
conststd::string& The full key string.
Returns:
SegmentDate* The just retrieved SegmentDate object.

Definition at line 155 of file BomRetriever.cpp.

References retrieveFlightDateFromLongKey(), stdair::BomKeyManager::extractSegmentDateKey(), and stdair::FlightDate::getSegmentDate().

Referenced by retrieveBookingClassFromLongKey().

SegmentDate * stdair::BomRetriever::retrieveSegmentDateFromLongKey ( const Inventory &  iInventory,
const std::string &  iFullKeyStr 
) [static]

Retrieve a SegmentDate object from a (full) key string.

The full key string gathers airline code, segment number, origin and destination, cabin and booking class. It corresponds to the output generated by the toString() methods of the XxxKey structures.

Parameters:
constInventory& The root of the BOM tree.
conststd::string& The full key string.
Returns:
SegmentDate* The just retrieved SegmentDate object.

Definition at line 178 of file BomRetriever.cpp.

References stdair::BomKeyManager::extractKeys(), stdair::Inventory::getAirlineCode(), stdair::ParsedKey::_airlineCode, STDAIR_LOG_DEBUG, retrieveFlightDateFromKey(), stdair::ParsedKey::getFlightDateKey(), stdair::FlightDateKey::toString(), retrieveSegmentDateFromKey(), stdair::ParsedKey::getSegmentKey(), and stdair::SegmentDateKey::toString().

SegmentDate * stdair::BomRetriever::retrieveSegmentDateFromLongKey ( const FlightDate &  iFlightDate,
const std::string &  iFullKeyStr 
) [static]

Retrieve a SegmentDate object from a (full) key string.

The full key string gathers airline code, segment number, origin and destination, cabin and booking class. It corresponds to the output generated by the toString() methods of the XxxKey structures.

Parameters:
constFlightDate& The root of the BOM tree.
conststd::string& The full key string.
Returns:
SegmentDate* The just retrieved SegmentDate object.

Definition at line 210 of file BomRetriever.cpp.

References stdair::BomKeyManager::extractSegmentDateKey(), and stdair::FlightDate::getSegmentDate().

SegmentDate * stdair::BomRetriever::retrieveSegmentDateFromKey ( const FlightDate &  iFlightDate,
const SegmentDateKey &  iKey 
) [static]

Retrieve a SegmentDate object from an SegmentDateKey structure.

Parameters:
constFlightDate& The root of the BOM tree.
constSegmentDateKey& The key.
Returns:
SegmentDate* The just retrieved SegmentDate object.

Definition at line 225 of file BomRetriever.cpp.

References stdair::FlightDate::getSegmentDate().

Referenced by retrieveSegmentDateFromLongKey().

SegmentDate * stdair::BomRetriever::retrieveSegmentDateFromKey ( const FlightDate &  iFlightDate,
const AirportCode_T &  iOrigin,
const AirportCode_T &  iDestination 
) [static]

Retrieve a SegmentDate object from an SegmentDateKey structure.

Parameters:
constFlightDate& The root of the BOM tree.
constAirportCode_T& Origin, part of the key.
constAirportCode_T& Destination, part of the key.
Returns:
SegmentDate* The just retrieved SegmentDate object.

Definition at line 237 of file BomRetriever.cpp.

References stdair::FlightDate::getSegmentDate().

BookingClass * stdair::BomRetriever::retrieveBookingClassFromLongKey ( const Inventory &  iInventory,
const std::string &  iFullKeyStr,
const ClassCode_T &  iClassCode 
) [static]

Retrieve a BookingClass object from a (full) key string.

The full key string gathers airline code, segment number, origin and destination, cabin and booking class. It corresponds to the output generated by the toString() methods of the XxxKey structures.

Besides being attached to segment-cabin objects (and fare family objects, when they exist), the booking-class objects must also be attached directly to the segment-date.

Hence, if an assertion fails within that method call, chances are that the booking-class objects have not been attached to the segment-date objects. Check, for instance, the CmdBomManager::buildSampleBom() to see how that should be properly done.

Parameters:
constInventory& The root of the BOM tree.
conststd::string& Part of the full key string.
constClassCode_T& Part of the full key string.
Returns:
BookingClass* The just retrieved BookingClass object.

Definition at line 251 of file BomRetriever.cpp.

References retrieveSegmentDateFromLongKey().

AirportPair * stdair::BomRetriever::retrieveAirportPairFromKeySet ( const BomRoot &  iBomRoot,
const stdair::AirportCode_T &  iOrigin,
const stdair::AirportCode_T &  iDestination 
) [static]

Retrieve an AirportPair object from an AirportPair structure.

Parameters:
constBomRoot& The root of the BOM tree.
constAirportCode_T& Origin, part of the key.
constAirportCode_T& Destination, part of the key.
Returns:
AirportPair* The just retrieved AirportPair object.

Definition at line 273 of file BomRetriever.cpp.

References stdair::AirportPairKey::toString().

Referenced by retrieveDatePeriodListFromKeySet().

void stdair::BomRetriever::retrieveDatePeriodListFromKey ( const AirportPair &  iAirportPair,
const stdair::Date_T &  iDepartureDate,
stdair::DatePeriodList_T &  ioDatePeriodList 
) [static]

Retrieve a list of date-period corresponding to a flight date.

Parameters:
constAirportPair& The root of the BOM tree.
constDate_T& Departure Date of the flight
stdair::DatePeriodList_T&List of DatePeriod to display.

Definition at line 291 of file BomRetriever.cpp.

References stdair::DatePeriod::isDepartureDateValid().

Referenced by retrieveDatePeriodListFromKeySet().

void stdair::BomRetriever::retrieveDatePeriodListFromKeySet ( const BomRoot &  iBomRoot,
const stdair::AirportCode_T &  iOrigin,
const stdair::AirportCode_T &  iDestination,
const stdair::Date_T &  iDepartureDate,
stdair::DatePeriodList_T &  ioDatePeriodList 
) [static]

Retrieve a list of date-period from a set of keys.

Parameters:
constBomRoot& The root of the BOM tree.
constAirportCode_T& Part of the AirportPair key: the origin airport
constAirportCode_T& Part of the AirportPair key: the destination airport.
constDate_T& Departure date of the flight
stdair::DatePeriodList_T&List of DatePeriod to display.

Definition at line 322 of file BomRetriever.cpp.

References retrieveAirportPairFromKeySet(), and retrieveDatePeriodListFromKey().

Referenced by stdair::STDAIR_Service::check(), and stdair::STDAIR_Service::csvDisplay().

LegCabin & stdair::BomRetriever::retrieveDummyLegCabin ( stdair::BomRoot &  iBomRoot) [static]
SegmentCabin & stdair::BomRetriever::retrieveDummySegmentCabin ( stdair::BomRoot &  iBomRoot) [static]

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