StdAir Logo  1.00.0
C++ Standard Airline IT Object Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
stdair::FacBomManager Class Reference

Utility class for linking StdAir-based objects. More...

#include <stdair/factory/FacBomManager.hpp>

+ Inheritance diagram for stdair::FacBomManager:

List of all members.

Public Member Functions

 ~FacBomManager ()
template<>
void addToList (SegmentDate &ioSegmentDate, SegmentDate &ioMarketingSegmentDate)

Static Public Member Functions

template<typename OBJECT2 , typename OBJECT1 >
static BomHolder< OBJECT2 > * getBomHolderPtr (OBJECT1 &)
template<typename OBJECT2 , typename OBJECT1 >
static BomHolder< OBJECT2 > & addBomHolder (OBJECT1 &)
template<typename OBJECT1 , typename OBJECT2 >
static void addToList (OBJECT1 &, OBJECT2 &)
template<typename OBJECT1 , typename OBJECT2 >
static void addToMap (OBJECT1 &, OBJECT2 &, const MapKey_T &)
template<typename OBJECT1 , typename OBJECT2 >
static void addToMap (OBJECT1 &, OBJECT2 &)
template<typename OBJECT1 , typename OBJECT2 >
static void addToListAndMap (OBJECT1 &, OBJECT2 &)
template<typename OBJECT1 , typename OBJECT2 >
static void addToListAndMap (OBJECT1 &, OBJECT2 &, const MapKey_T &)
template<typename PARENT , typename CHILD >
static void linkWithParent (PARENT &, CHILD &)
template<typename OBJECT2 , typename OBJECT1 >
static void cloneHolder (OBJECT1 &, const OBJECT1 &)
static void resetYieldBasedNestingStructure (const SegmentCabin &)
static void setAirlineFeature (Inventory &iInventory, AirlineFeature &iAirlineFeature)
static void linkWithOperating (SegmentDate &iSegmentDate, SegmentDate &iOperatingSegmentDate)

Protected Member Functions

 FacBomManager ()

Detailed Description

Utility class for linking StdAir-based objects.

Definition at line 30 of file FacBomManager.hpp.


Constructor & Destructor Documentation

stdair::FacBomManager::FacBomManager ( )
inlineprotected

Default Constructor.

This constructor is protected to comply with the singleton pattern.

Definition at line 225 of file FacBomManager.hpp.

stdair::FacBomManager::~FacBomManager ( )
inline

Destructor.

Definition at line 231 of file FacBomManager.hpp.


Member Function Documentation

template<typename OBJECT2 , typename OBJECT1 >
BomHolder< OBJECT2 > * stdair::FacBomManager::getBomHolderPtr ( OBJECT1 &  ioObject1)
static

Retrieve a pointer on the holder of children (OBJECT2 type) for the parent (OBJECT1 type). If the holder does not exist, return NULL.

Parameters:
typenameOBJECT1& Parent object.
Returns:
typename BomHolder<OBJECT2>* BomHolder for the children objects.

Definition at line 268 of file FacBomManager.hpp.

template<typename OBJECT2 , typename OBJECT1 >
BomHolder< OBJECT2 > & stdair::FacBomManager::addBomHolder ( OBJECT1 &  ioObject1)
static

Instantiate a BomHolder<OBJECT2> object, add it to the OBJECT1-typed object, given as parameter, and return a reference on that newly created BomHolder.

Parameters:
typenameOBJECT1& Parent object.
Returns:
typename BomHolder<OBJECT2>& Just created BomHolder (e.g., for the children objects).

Definition at line 238 of file FacBomManager.hpp.

References stdair::FacBom< BOM >::create().

template<typename OBJECT1 , typename OBJECT2 >
void stdair::FacBomManager::addToList ( OBJECT1 &  ioObject1,
OBJECT2 &  ioObject2 
)
static

Add an OBJECT2-typed object (typically, a child) to the dedicated list held by the OBJECT1-typed object (typically, a parent).

Note:
The underlying list is actually stored within an object of type BomHolder<OBJECT2>.
Parameters:
typenameOBJECT1& Parent object.
typenameOBJECT2& Child object.

Definition at line 354 of file FacBomManager.hpp.

template<typename OBJECT1 , typename OBJECT2 >
void stdair::FacBomManager::addToMap ( OBJECT1 &  ioObject1,
OBJECT2 &  ioObject2,
const MapKey_T iKey 
)
static

Add an OBJECT2-typed object (typically, a child) to the dedicated map held by the OBJECT1-typed object (typically, a parent).

Note:
The underlying map is actually stored within an object of type BomHolder<OBJECT2>.
Parameters:
typenameOBJECT1& Parent object.
typenameOBJECT2& Child object.
constMapKey_T&

Definition at line 424 of file FacBomManager.hpp.

Referenced by addToMap().

template<typename OBJECT1 , typename OBJECT2 >
void stdair::FacBomManager::addToMap ( OBJECT1 &  ioObject1,
OBJECT2 &  ioObject2 
)
static

Add an OBJECT2-typed object (typically, a child) to the dedicated map held by the OBJECT1-typed object (typically, a parent).

Note:
The underlying map is actually stored within an object of type BomHolder<OBJECT2>.
Parameters:
typenameOBJECT1& Parent object.
typenameOBJECT2& Child object.

Definition at line 446 of file FacBomManager.hpp.

References addToMap().

template<typename OBJECT1 , typename OBJECT2 >
void stdair::FacBomManager::addToListAndMap ( OBJECT1 &  ioObject1,
OBJECT2 &  ioObject2 
)
static

Add an OBJECT2-typed object (typically, a child) to the dedicated containers (list and map) held by the OBJECT1-typed object (typically, a parent).

Note:
The underlying containers are actually stored within an object of type BomHolder<OBJECT2>.
Parameters:
typenameOBJECT1& Parent object.
typenameOBJECT2& Child object.

Definition at line 490 of file FacBomManager.hpp.

template<typename OBJECT1 , typename OBJECT2 >
void stdair::FacBomManager::addToListAndMap ( OBJECT1 &  ioObject1,
OBJECT2 &  ioObject2,
const MapKey_T iKey 
)
static

Add an OBJECT2-typed object (typically, a child) to the dedicated containers (list and map) held by the OBJECT1-typed object (typically, a parent).

Note:
The underlying containers are actually stored within an object of type BomHolder<OBJECT2>.
Parameters:
typenameOBJECT1& Parent object.
typenameOBJECT2& Child object.
constMapKey_T&

Definition at line 467 of file FacBomManager.hpp.

template<typename PARENT , typename CHILD >
void stdair::FacBomManager::linkWithParent ( PARENT &  ioParent,
CHILD &  ioChild 
)
static

Allow the CHILD object to store a pointer on its PARENT object.

Parameters:
typenamePARENT& Parent object.
typenameCHILD& Child object.

Definition at line 511 of file FacBomManager.hpp.

Referenced by stdair::serialiseHelper().

template<typename OBJECT2 , typename OBJECT1 >
void stdair::FacBomManager::cloneHolder ( OBJECT1 &  ioDest,
const OBJECT1 &  iOri 
)
static

Clone the underlying containers (held by the BomHolder<OBJECT2>-typed holder) of the OBJECT1-typed object.

Note:
The underlying containers are actually stored within an object of type BomHolder<OBJECT2>.
Parameters:
typenameOBJECT1& Parent object.
typenameOBJECT2& Child object.

Definition at line 519 of file FacBomManager.hpp.

References stdair::BomHolder< BOM >::_bomList, and stdair::BomHolder< BOM >::_bomMap.

void stdair::FacBomManager::resetYieldBasedNestingStructure ( const SegmentCabin iSegmentCabin)
static

Reset the yield-based nesting structure of a segment-cabin. This method is used with FA or MRT.

Definition at line 20 of file FacBomManager.cpp.

References stdair::BomHolder< BOM >::_bomList, stdair::NestingNode::describeKey(), stdair::NestingNode::getHolderMap(), stdair::NestingNode::setYield(), and stdair::YIELD_BASED_NESTING_STRUCTURE_CODE.

static void stdair::FacBomManager::setAirlineFeature ( Inventory iInventory,
AirlineFeature iAirlineFeature 
)
inlinestatic

Set the airline feature object of an inventory.

Definition at line 205 of file FacBomManager.hpp.

static void stdair::FacBomManager::linkWithOperating ( SegmentDate iSegmentDate,
SegmentDate iOperatingSegmentDate 
)
inlinestatic

Link the segment date with its operating segment date.

Definition at line 213 of file FacBomManager.hpp.

template<>
void stdair::FacBomManager::addToList ( SegmentDate ioSegmentDate,
SegmentDate ioMarketingSegmentDate 
)
inline

Definition at line 539 of file FacBomManager.hpp.


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