StdAir Logo  1.00.12
C++ Standard Airline IT Object Library
DatePeriod.hpp
Go to the documentation of this file.
1#ifndef __STDAIR_BOM_DATEPERIOD_HPP
2#define __STDAIR_BOM_DATEPERIOD_HPP
3
4// //////////////////////////////////////////////////////////////////////
5// Import section
6// //////////////////////////////////////////////////////////////////////
7// STDAIR
11
12// Forward declaration
13namespace stdair {
14
18 class DatePeriod : public BomAbstract {
19 template <typename BOM> friend class FacBom;
20 template <typename BOM> friend class FacCloneBom;
21 friend class FacBomManager;
22
23 public:
24 // //////////// Type definitions //////////////
29
30 public:
31 // /////////// Display support methods /////////
37 void toStream (std::ostream& ioOut) const {
38 ioOut << toString();
39 }
40
46 void fromStream (std::istream& ioIn) {
47 }
48
52 std::string toString() const;
53
57 const std::string describeKey() const {
58 return _key.toString();
59 }
60
61 public:
62 // ////////// Getters ////////////
66 const Key_T& getKey() const {
67 return _key;
68 }
69
73 BomAbstract* const getParent() const {
74 return _parent;
75 }
76
80 const HolderMap_T& getHolderMap() const {
81 return _holderMap;
82 }
83
87 const DatePeriod_T& getDatePeriod() const {
88 return _key.getDatePeriod();
89 }
90
91
92 public:
93 // ////////////// Business methods ///////////////
98 bool isDepartureDateValid (const Date_T&) const;
99
100 protected:
101 // ////////// Constructors and destructors /////////
105 DatePeriod (const Key_T&);
109 virtual ~DatePeriod ();
110
111 private:
115 DatePeriod ();
119 DatePeriod (const DatePeriod&);
120
121 protected:
122 // ///////////// Attributes /////////////
127
132
137
138 };
139
140}
141#endif // __STDAIR_BOM_DATEPERIOD_HPP
142
Handle on the StdAir library context.
boost::gregorian::date Date_T
std::map< const std::type_info *, BomAbstract * > HolderMap_T
Definition: BomAbstract.hpp:63
boost::gregorian::date_period DatePeriod_T
Base class for the Business Object Model (BOM) layer.
Definition: BomAbstract.hpp:24
Class representing the actual attributes for a fare date-period.
Definition: DatePeriod.hpp:18
HolderMap_T _holderMap
Definition: DatePeriod.hpp:136
BomAbstract * _parent
Definition: DatePeriod.hpp:131
bool isDepartureDateValid(const Date_T &) const
Definition: DatePeriod.cpp:44
const Key_T & getKey() const
Definition: DatePeriod.hpp:66
const std::string describeKey() const
Definition: DatePeriod.hpp:57
void fromStream(std::istream &ioIn)
Definition: DatePeriod.hpp:46
BomAbstract *const getParent() const
Definition: DatePeriod.hpp:73
void toStream(std::ostream &ioOut) const
Definition: DatePeriod.hpp:37
virtual ~DatePeriod()
Definition: DatePeriod.cpp:32
DatePeriodKey Key_T
Definition: DatePeriod.hpp:28
std::string toString() const
Definition: DatePeriod.cpp:36
const HolderMap_T & getHolderMap() const
Definition: DatePeriod.hpp:80
const DatePeriod_T & getDatePeriod() const
Definition: DatePeriod.hpp:87
Key of date-period.
const std::string toString() const
const DatePeriod_T & getDatePeriod() const
Base class for Factory layer.
Definition: FacBom.hpp:22
Utility class for linking StdAir-based objects.
Base class for Factory layer.
Definition: FacCloneBom.hpp:22