StdAir Logo  1.00.0
C++ Standard Airline IT Object Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FareFamily.hpp
Go to the documentation of this file.
1 #ifndef __STDAIR_BOM_FAREFAMILY_HPP
2 #define __STDAIR_BOM_FAREFAMILY_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <iosfwd>
9 #include <string>
10 // StdAir
15 
17 namespace boost {
18  namespace serialization {
19  class access;
20  }
21 }
22 
23 namespace stdair {
24 
28  class FareFamily : public BomAbstract {
29  template <typename BOM> friend class FacBom;
30  template <typename BOM> friend class FacCloneBom;
31  friend class FacBomManager;
33 
34  public:
35  // ////////// Type definitions ////////////
40 
41 
42  public:
43  // /////////// Getters ////////////
45  const Key_T& getKey() const {
46  return _key;
47  }
48 
50  BomAbstract* const getParent() const {
51  return _parent;
52  }
53 
55  const FamilyCode_T& getFamilyCode() const {
56  return _key.getFamilyCode();
57  }
58 
60  const HolderMap_T& getHolderMap() const {
61  return _holderMap;
62  }
63 
65  const FRAT5Curve_T& getFrat5Curve () const {
66  return _frat5Curve;
67  }
68 
71  return _disutilityCurve;
72  }
73 
75  const MeanValue_T& getMean () const { return _mean; }
76  const StdDevValue_T& getStdDev () const {return _stdDev; }
77 
80 
81 
82  public:
83  // /////////// Setters ////////////
85  void setFrat5Curve (const FRAT5Curve_T& iFRAT5Curve) {
86  _frat5Curve = iFRAT5Curve;
87  }
88 
90  void setDisutilityCurve (const FFDisutilityCurve_T& iDisutilityCurve) {
91  _disutilityCurve = iDisutilityCurve;
92  }
93 
95  void setMean (const MeanValue_T& iMean) { _mean = iMean; }
96  void setStdDev (const StdDevValue_T& iStdDev) { _stdDev = iStdDev; }
97 
99  void setMeanStdDev (const MeanStdDevPairVector_T& iMeanStdDev){
100  _meanStdDev = iMeanStdDev;
101  }
102 
103 
104  public:
105  // /////////// Display support methods /////////
111  void toStream (std::ostream& ioOut) const {
112  ioOut << toString();
113  }
114 
120  void fromStream (std::istream& ioIn) {
121  }
122 
126  std::string toString() const;
127 
131  const std::string describeKey() const {
132  return _key.toString();
133  }
134 
135 
136  public:
137  // /////////// (Boost) Serialisation support methods /////////
141  template<class Archive>
142  void serialize (Archive& ar, const unsigned int iFileVersion);
143 
144 
145  private:
150  void serialisationImplementationExport() const;
151  void serialisationImplementationImport();
152 
153 
154  protected:
155  // ////////// Constructors and destructors /////////
159  FareFamily (const Key_T&);
160 
164  virtual ~FareFamily();
165 
166 
167  private:
171  FareFamily();
172 
176  FareFamily (const FareFamily&);
177 
178 
179  public:
180  // ////////// Attributes /////////
185 
190 
195 
200 
205 
209 
214  };
215 
216 }
217 #endif // __STDAIR_BOM_FAREFAMILY_HPP
218