StdAir Logo  0.45.1
C++ Standard Airline IT Object Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
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 &)

Protected Member Functions

 FacBomManager ()

Detailed Description

Utility class for linking StdAir-based objects.

Definition at line 28 of file FacBomManager.hpp.


Constructor & Destructor Documentation

stdair::FacBomManager::FacBomManager ( ) [inline, protected]

Default Constructor.

This constructor is protected to comply with the singleton pattern.

Definition at line 200 of file FacBomManager.hpp.

Destructor.

Definition at line 206 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 239 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 213 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 299 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 347 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 366 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 404 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 384 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 422 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 430 of file FacBomManager.hpp.

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

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

Definition at line 450 of file FacBomManager.hpp.


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