StdAir Logo  1.00.12
C++ Standard Airline IT Object Library
Loading...
Searching...
No Matches
stdair::FacBomManager Class Reference

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

#include <stdair/factory/FacBomManager.hpp>

+ Inheritance diagram for stdair::FacBomManager:

Public Member Functions

 ~FacBomManager ()
 

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)
 
template<>
void addToList (SegmentDate &ioSegmentDate, SegmentDate &ioMarketingSegmentDate)
 

Protected Member Functions

 FacBomManager ()
 

Detailed Description

Utility class for linking StdAir-based objects.

Definition at line 30 of file FacBomManager.hpp.

Constructor & Destructor Documentation

◆ FacBomManager()

stdair::FacBomManager::FacBomManager ( )
inlineprotected

Default Constructor.

This constructor is protected to comply with the singleton pattern.

Definition at line 225 of file FacBomManager.hpp.

◆ ~FacBomManager()

stdair::FacBomManager::~FacBomManager ( )
inline

Destructor.

Definition at line 231 of file FacBomManager.hpp.

Member Function Documentation

◆ getBomHolderPtr()

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.

◆ addBomHolder()

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().

◆ addToList() [1/2]

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.

◆ addToMap() [1/2]

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 423 of file FacBomManager.hpp.

Referenced by addToMap().

◆ addToMap() [2/2]

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().

◆ addToListAndMap() [1/2]

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 489 of file FacBomManager.hpp.

◆ addToListAndMap() [2/2]

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.

◆ linkWithParent()

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 510 of file FacBomManager.hpp.

Referenced by stdair::serialiseHelper().

◆ cloneHolder()

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 518 of file FacBomManager.hpp.

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

◆ resetYieldBasedNestingStructure()

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 19 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.

◆ setAirlineFeature()

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.

◆ linkWithOperating()

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.

◆ addToList() [2/2]

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

Definition at line 540 of file FacBomManager.hpp.

References stdair::SegmentDate::_marketingSegmentDateList.


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