Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Examples

EquipmentComposite Class Reference

EquipmentComposite implements the TransparentComponent children management routines as well as the domain behavior of Equipment. More...

#include <EquipmentComposite.hpp>

Inheritance diagram for EquipmentComposite:

Equipment corelinux::TransparentComponent< EquipmentPtr > corelinux::Component corelinux::CoreLinuxObject List of all members.

Public Member Functions

 EquipmentComposite (NameCref)
 Always requires a name in derivations.

 EquipmentComposite (EquipmentCompositeCref)
 Copy constructor - DEEP copy.

virtual ~EquipmentComposite (void)
 Virtual destructor.

bool operator== (EquipmentCompositeCref) const
 Equal if theName == theName.

virtual Watt getPower (void)
 Return the power requirement.

virtual void addComponent (EquipmentPtr) throw (corelinux::InvalidCompositeException )
 Interface for adding component children to a composition.

virtual void removeComponent (EquipmentPtr) throw (corelinux::InvalidCompositeException )
 Interface for removing component children from a composition.

virtual corelinux::Iterator<
EquipmentPtr > * 
createIterator (void) throw (corelinux::InvalidCompositeException )
 Create a iterator and manage it's instance.

virtual void destroyIterator (corelinux::Iterator< EquipmentPtr > *) throw (corelinux::InvalidCompositeException )
 Destroy the iterator if it is ours.


Protected Member Functions

 EquipmentComposite (void) throw (corelinux::CompositeException )
 Default constructor not allowed.

EquipmentCompositeRef operator= (EquipmentCompositeCref) throw (corelinux::CompositeException )
 Assignment operator can't overwrite name.


Detailed Description

EquipmentComposite implements the TransparentComponent children management routines as well as the domain behavior of Equipment.

In our implementation we use the EquipmentComposite as the concrete composite. Other implementations may wish to extend the Equipment composite to real world composit types of the problem domain.


Member Function Documentation

void EquipmentComposite::addComponent EquipmentPtr  aPtr  )  throw (corelinux::InvalidCompositeException ) [virtual]
 

Interface for adding component children to a composition.

The default implementation throws an exception to insure needless calls are not made to leafs components

Parameters:
CompImpl - Component instantiated with implementation
Exceptions:
InvalidCompositeInstance 

Reimplemented from corelinux::TransparentComponent< EquipmentPtr >.

void EquipmentComposite::removeComponent EquipmentPtr  aPtr  )  throw (corelinux::InvalidCompositeException ) [virtual]
 

Interface for removing component children from a composition.

The default implementation throws an exception to insure needless calls are not made to leafs

Parameters:
CompImpl - Component instantiated with implementation
Exceptions:
InvalidCompositeInstance 

Reimplemented from corelinux::TransparentComponent< EquipmentPtr >.


The documentation for this class was generated from the following files:
This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium