Home|News blank.gif
When Design Matters CoreLinux++ CoreLinux Consortium
blank.gif
CoreLinux++
blank.gif
Goals
blank.gif
Developer's Corner
blank.gif
Contacts
Abstract Factory Class Report
Abstract Factory Class Report
Generated at: Sat, May 13, 2000
08:20:31



TABLE OF CONTENTS
REPORT BODY

Class report
Data package
Developer class
Component View package
corelinux package
CoreLinuxObject class
AbstractAllocator class
AbstractFactory class
Identifier class
Allocator class
Exception class
AbstractFactoryException class
AllocatorNotFoundException class
AllocatorAlreadyExistsException class
Strategy class
SolutionSpace package
FactoryImpl<Identifier> class

SUMMARY


REPORT BODY

Class report

package Data
class Developer
Stereotype:   <<actor>>
Documentation:
The Developer extends AbstractFactory for use in a particular implementation.


package Data::Component View

package Data::corelinux
Stereotype:   <<system>>
Documentation:
The library namespace.

class CoreLinuxObject
Documentation:
The CoreLinuxObject is a base class in the libcorelinux library. It is not pervasive.

abstract class AbstractAllocator < TypeImpl >
Superclasses:
Data::corelinux::Allocator

Documentation:
AbstractAllocator is a abstract class that can be derived and associated with concrete classes for extended memory managment.
Operations:
public  AbstractAllocator ( [Unnamed] : void )
Stereotype:   <<constructor>>
Documentation:
Default constructor
public  AbstractAllocator ( aAllocator : AbstractAllocator )
aAllocator : AbstractAllocator
Documentation:
Another allocator
Stereotype:   <<constructor>>
Documentation:
Copy constructor
public  ~AbstractAllocator ( [Unnamed] : void )
Stereotype:   <<destructor>>
Documentation:
Virtual Destructor
protected abstract  TypeImplPtr  allocateObject ( [Unnamed] : void )
Stereotype:   <<constructor>>
Documentation:
Derivation required implementation to allocate object.
protected abstract  void  deallocateObject ( aInstance : TypeImplPtr )
aInstance : TypeImplPtr
Documentation:
The object instance.
Stereotype:   <<destructor>>
Documentation:
Derivation required implementation to de-allocate a object.
public  TypeImplPtr  createType ( [Unnamed] : void )
Stereotype:   <<constructor>>
Documentation:
createType invokes the allocateObject method and increments theAllocations count.
public  void  destroyType ( aInstance : TypeImplPtr )
Stereotype:   <<destructor>>
Documentation:
The destroyType method calls the deallocateObject and increments theDeallocations.
public  AbstractAllocator  operator= ( aAllocator : AbstractAllocator )
aAllocator : AbstractAllocator
Documentation:
A const reference to AbstractAllocator
Stereotype:   <<operator>>
Documentation:
Assignment operator returns (*this)
public  bool  operator== ( aAllocator : AbstractAllocator )
aAllocator : AbstractAllocator
Documentation:
A const reference to AbstractAllocator
Constraints:  {query}
Documentation:
Equality operator tests to see if the identifiers match.

class AbstractFactory < UniqueId >
Superclasses:
Data::corelinux::CoreLinuxObject

Documentation:
AbstractFactory provides the interface for creating families or dependent objects without specifying their concrete classes.

Operations:
public  AbstractFactory ( [Unnamed] : void )
Stereotype:   <<constructor>>
Documentation:
Default Constructor
public  ~AbstractFactory ( [Unnamed] : void )
Stereotype:   <<destructor>>
Documentation:
Virtual Destructor
public  AbstractFactory ( aAbstractFactory : AbstractFactory )
aAbstractFactory : AbstractFactory
Documentation:
Another factory.
Stereotype:   <<constructor>>
Documentation:
Copy constructor
public  AbstractFactory  operator= ( aAbstractFactory : AbstractFactory )
aAbstractFactory : AbstractFactory
Documentation:
Another AbstractFactory
Stereotype:   <<operator>>
Documentation:
Assignment operator copies state and allocators.
public  bool  operator== ( aAbstractFactory : AbstractFactory )
aAbstractFactory : AbstractFactory
Documentation:
Another AbstractFactory
Stereotype:   <<operator>>
Constraints:  {query}
Documentation:
Equality operator, compares AbstractAllocators.
public  Count  getCreateCount ( [Unnamed] : void )
Stereotype:   <<getter>>
Constraints:  {query}
Documentation:
Calculates the number of creates by interogating theAllocators
public  Count  getDestoryCount ( [Unnamed] : void )
Stereotype:   <<getter>>
Constraints:  {query}
Documentation:
Calculates and returns number of objects destroyed by interogating theAllocators.
public abstract  Allocator  getAllocator ( aKey : KeyImpl )
Stereotype:   <<constructor>>
Constraints:  {query}
Documentation:
Retrieves the allocator for a given Identifier.
public abstract  void  addAllocator ( aKey : KeyImpl,  aAllocator : Allocator )
Stereotype:   <<setter>>
Documentation:
Adds an Allocator
public abstract  Allocator  removeAllocator ( aKey : KeyImpl )
aKey : KeyImpl
Documentation:
The identifier for the allocator
Stereotype:   <<setter>>
Documentation:
Removes a allocator and returns it to the caller.
public abstract  Iterator<Allocator *>*  createIterator ( [Unnamed] : void )
Stereotype:   <<constructor>>
Constraints:  {query}
Documentation:
Creates a iterator its Allocators
public abstract  void  destroyIterator ( aIterator : Iterator<Allocator *> * )
Stereotype:   <<destructor>>
public abstract  AssociativeIterator<KeyImpl,Allocator*> *  createAssociativeIterator ( [Unnamed] : void )
Constraints:  {query}
Documentation:
Creates a iterator over a association of Keys to Allocators
public abstract  void  destroyAssociativeIterator ( aIterator : AssociativeIterator<KeyImpl,Allocator *> * )
Stereotype:   <<destructor>>
Documentation:
Destroys associative iterator.

abstract class Identifier
Documentation:
An Identifier is an abstraction of something that provides Identity for an object.

class Allocator
Superclasses:
Data::corelinux::Strategy

Documentation:
Allocator is a base class that maintains the instrumentation and identity for all Allocators.
Attributes:
private  theAllocates  :  Count = 0
Documentation:
The number of times the Allocator allocated an object.
private  theDeallocates  :  Count = 0
Documentation:
The number of times this Allocator has deallocated objects.

Operations:
public  Count  getAllocateCount ( [Unnamed] : void )
Stereotype:   <<getter>>
Constraints:  {query}
Documentation:
The number of objects of TypeImpl type that this allocator has allocated.
public  Count  getDeallocateCount ( [Unnamed] : void )
Stereotype:   <<getter>>
Constraints:  {query}
Documentation:
Retrieves the number of TypeImpl object types this allocator has de-allocated.
public  void  incrementAllocates ( [Unnamed] : void )
Stereotype:   <<setter>>
Documentation:
Increments theAllocates count.
public  void  incrementDeallocates ( [Unnamed] : void )
Stereotype:   <<setter>>
Documentation:
Increments theDeallocates count
public  void  decrementAllocates ( )
Stereotype:   <<setter>>
Documentation:
Decrements theAllocates count.
public  void  decrementDeallocates ( [Unnamed] : void )
Stereotype:   <<setter>>
Documentation:
Decrements theDeallocates count
public  Allocator ( [Unnamed] : void )
Stereotype:   <<constructor>>
Documentation:
Default constructor
public  Allocator ( aAllocator : Allocator )
Stereotype:   <<constructor>>
Documentation:
Copy constructor
public  ~Allocator ( [Unnamed] : void )
Stereotype:   <<destructor>>
Documentation:
Virtual destructor
public  Allocator  operator= ( aAllocator : Allocator )
Stereotype:   <<operator>>
Documentation:
Assignment operator resets the instrumentation.
public  bool  operator== ( aAllocator : Allocator )
Stereotype:   <<operator>>
Constraints:  {query}
Documentation:
Equality operator returns true of (this == &aAllocator)

class Exception
Documentation:
CoreLinux base Exception class.

class AbstractFactoryException
Superclasses:
Data::corelinux::Exception

Documentation:
General Exception type for AbstractFactory

class AllocatorNotFoundException
Superclasses:
Data::corelinux::AbstractFactoryException

Documentation:
AllocatorNotFound indicates that a request for a Allocator by an Identifier produced no results.

class AllocatorAlreadyExistsException
Superclasses:
Data::corelinux::AbstractFactoryException

Documentation:
AllocatorAlreadyExistsException indicates an attempt to add a Allocator that is the same as an Allocator that already exists.

class Strategy
Documentation:
Strategy lets the alogrithm vary independently from clients that use it.


package Data::SolutionSpace
class FactoryImpl<Identifier>
Superclasses:
Data::corelinux::AbstractFactory

Stereotype:   <<implementationClass>>
Documentation:
A AbstractFactory derivation defines the add, get, and removeAllocator methods and is responsible for the storage implementation.
Operations:
public  Allocator  getAllocator ( aKey : Identifier )
Stereotype:   <<constructor>>
Constraints:  {query}
Documentation:
Retrieves the allocator for a given Identifier.
public  void  addAllocator ( aKey : Identifier,  aAllocator : Allocator )
Stereotype:   <<setter>>
Documentation:
Adds an Allocator
public  Allocator  removeAllocator ( aKey : Identifier )
aKey : Identifier
Documentation:
The identifier for the allocator
Stereotype:   <<setter>>
Documentation:
Removes a allocator and returns it to the caller.
public abstract  Iterator<Allocator *>*  createIterator ( [Unnamed] : void )
Stereotype:   <<constructor>>
Constraints:  {query}
Documentation:
Creates a iterator its Allocators
public abstract  void  destroyIterator ( aIterator : Iterator<Allocator *> * )
Stereotype:   <<destructor>>
public abstract  AssociativeIterator<Identifier,Allocator*> *  createAssociativeIterator ( [Unnamed] : void )
Constraints:  {query}
Documentation:
Creates a iterator over a association of Keys to Allocators
public abstract  void  destroyAssociativeIterator ( aIterator : AssociativeIterator<Identifier,Allocator *> * )
Stereotype:   <<destructor>>
Documentation:
Destroys associative iterator.


SUMMARY
Total packages reported:     4
Total classes reported:      12
Total attributes reported:      2
Total operations reported:      41


Copyright © 1999, 2000 by CoreLinux Consortium
This material may be distributed only subject to the terms and conditions set forth in the Open Publication License
Contacts
- contact the webmaster
News
Powered / Hosted by

SourceForge.net
Contributor
NoMagic, inc.
thanks Gary!
Cool OO Sites
cetus
corba
omg
patterns
  Made with xemacs / php Comments to webmaster blank.gif