StdAir Logo  1.00.3
C++ Standard Airline IT Object Library
BomRetriever.hpp
Go to the documentation of this file.
1 #ifndef __STDAIR_BOM_BOMRETRIEVER_HPP
2 #define __STDAIR_BOM_BOMRETRIEVER_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <iosfwd>
9 // StdAir
13 
14 namespace stdair {
15 
17  class BomRoot;
18  struct InventoryKey;
19  class Inventory;
20  class AirlineFeature;
21  struct FlightDateKey;
22  class FlightDate;
23  class LegDate;
24  struct SegmentDateKey;
25  class SegmentDate;
26  class LegCabin;
27  class SegmentCabin;
28  class FareFamily;
29  class BookingClass;
30  class DatePeriod;
31  class AirportPair;
32 
36  class BomRetriever {
37  public:
38  // //////////////// Key management support methods /////////////////
51  static Inventory*
53  const std::string& iFullKeyStr);
54 
67  static Inventory*
69  const std::string& iFullKeyStr);
70 
79  const InventoryKey&);
80 
89  const AirlineCode_T&);
90 
99  const AirlineCode_T&);
100 
113  static FlightDate*
115  const std::string& iFullKeyStr);
116 
126  static FlightDate*
128  const AirlineCode_T&, const FlightNumber_T&,
129  const Date_T& iFlightDateDate);
130 
143  static FlightDate*
145  const std::string& iFullKeyStr);
146 
155  const FlightDateKey&);
156 
166  const FlightNumber_T&,
167  const Date_T& iFlightDateDate);
168 
169 
182  static LegDate*
184  const std::string& iFullKeyStr);
185 
198  static SegmentDate*
200  const std::string& iFullKeyStr);
201 
214  static SegmentDate*
216  const std::string& iFullKeyStr);
217 
230  static SegmentDate*
232  const std::string& iFullKeyStr);
233 
246  static SegmentDate*
248  const std::string& iFullKeyStr);
249 
258  const SegmentDateKey&);
259 
268  static SegmentDate*
270  const AirportCode_T& iOrigin,
271  const AirportCode_T& iDestination);
272 
296  static BookingClass*
298  const std::string& iFullKeyStr,
299  const ClassCode_T&);
300 
301 
310  static AirportPair*
312  const stdair::AirportCode_T&,
313  const stdair::AirportCode_T&);
314 
324  static void
326  const stdair::Date_T&,
328 
341  static void
343  const stdair::AirportCode_T&,
344  const stdair::AirportCode_T&,
345  const stdair::Date_T&,
347 
357  static stdair::LegCabin&
359  const bool isForFareFamilies = false);
360 
370  static stdair::SegmentCabin&
372  const bool isForFareFamilies = false);
373 
383  static std::string retrieveFullKeyFromSegmentDate (const SegmentDate&);
384 
385  };
386 
387 }
388 #endif // __STDAIR_BOM_BOMRETRIEVER_HPP
static stdair::LegCabin & retrieveDummyLegCabin(stdair::BomRoot &, const bool isForFareFamilies=false)
static AirportPair * retrieveAirportPairFromKeySet(const BomRoot &, const stdair::AirportCode_T &, const stdair::AirportCode_T &)
LocationCode_T AirportCode_T
Class representing the actual attributes for an airport-pair.
Definition: AirportPair.hpp:18
Class representing the actual attributes for an airline leg-cabin.
Definition: LegCabin.hpp:25
static std::string retrieveFullKeyFromSegmentDate(const SegmentDate &)
unsigned short FlightNumber_T
Class representing the actual attributes for an airline segment-date.
Definition: SegmentDate.hpp:36
Handle on the StdAir library context.
std::list< DatePeriod * > DatePeriodList_T
std::string AirlineCode_T
static BookingClass * retrieveBookingClassFromLongKey(const Inventory &, const std::string &iFullKeyStr, const ClassCode_T &)
static SegmentDate * retrieveSegmentDateFromKey(const FlightDate &, const SegmentDateKey &)
Key of a given inventory, made of the airline code.
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)
Class representing the actual attributes for an airline inventory.
Definition: Inventory.hpp:34
static stdair::SegmentCabin & retrieveDummySegmentCabin(stdair::BomRoot &, const bool isForFareFamilies=false)
static void retrieveDatePeriodListFromKeySet(const BomRoot &, const stdair::AirportCode_T &, const stdair::AirportCode_T &, const stdair::Date_T &, stdair::DatePeriodList_T &)
boost::gregorian::date Date_T
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.
Definition: BomRoot.hpp:32
static Inventory * retrieveInventoryFromLongKey(const BomRoot &, const std::string &iFullKeyStr)
static Inventory * retrieveInventoryFromKey(const BomRoot &, const InventoryKey &)
static SegmentDate * retrieveSegmentDateFromLongKey(const BomRoot &, const std::string &iFullKeyStr)
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 &)
Class representing various configuration parameters (e.g., revenue management methods such EMSRb or M...
Class representing the actual attributes for an airline flight-date.
Definition: FlightDate.hpp:35
static LegDate * retrieveOperatingLegDateFromLongKey(const FlightDate &, const std::string &iFullKeyStr)
std::string ClassCode_T
static FlightDate * retrieveFlightDateFromLongKey(const BomRoot &, const std::string &iFullKeyStr)
Utility class to retrieve StdAir objects.