
CoreLinux++
|

Goals
|

Developer's Corner
|

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