Home|News blank.gif
When Design Matters CoreLinux++ CoreLinux Consortium
blank.gif
CoreLinux++
blank.gif
Goals
blank.gif
Developer's Corner
blank.gif
Contacts
Composite/Vistor Class Report
Composite/Vistor Class Report
Generated at: Thu, May 11, 2000
22:17:22



TABLE OF CONTENTS
REPORT BODY

Class report
Data package
Developer class
Leaf class
Composite<CompImpl> class
CoreLinuxObject class
Component class
Iterator class
[Unnamed] class
TransparentComponent class
Exception class
CompositeException class
InvalidCompositeException class
Visitor class
Component View package

SUMMARY


REPORT BODY

Class report

package Data
class Developer
Stereotype:   <<actor>>
Documentation:
A Developer extends the hierarchy to implement the Composite pattern for a specific domain.

class Leaf
Stereotype:   <<implementationClass>>
Documentation:
Leaf represents the leaf object in the composition and defines behavior for the primitive objects.

class Composite<CompImpl>
Interfaces:
Data::TransparentComponent

Stereotype:   <<implementationClass>>
Documentation:
Composite implements interface for accessing and managing children, stores child (Component) components, implements child-related operations declared in the Component interface.

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

class Component
Superclasses:
Data::CoreLinuxObject

Documentation:
Component declares the interface for objects in the composition, implements the default behavior.
Operations:
public  Component ( [Unnamed] : void )
Stereotype:   <<constructor>>
Documentation:
Default constructor
public  Component ( aComponent : ComponentCref )
Stereotype:   <<constructor>>
public  ~Component ( [Unnamed] : void )
Stereotype:   <<destructor>>
public  ComponentRef  operator= ( aComponent : ComponentCref )
Stereotype:   <<operator>>
Documentation:
Assignment operator
public  bool  operator== ( aComponent : ComponentCref )
Stereotype:   <<operator>>
Constraints:  {query}
Documentation:
Equality operator. Returns true if instances are the same.
public  void  accept ( [Unnamed] : Visitor )
Stereotype:   <<operator>>
Documentation:
Accept is a double dispatch interface (with a default nop). The meaning depends on two types: The visitors and the component.

abstract class Iterator < ElementType >
Documentation:
Iterator provides a way to access the elements of an collection object sequentially without exposing its underlying representation.
Operations:
public  Iterator ( [Unnamed] : void )
Stereotype:   <<constructor>>
Documentation:
Default Constructor
public  Iterator1 ( aIterator : IteratorCref )
Stereotype:   <<constructor>>
Documentation:
Copy constructor
public  ~Iterator ( [Unnamed] : void )
Stereotype:   <<destructor>>
Documentation:
Destructor
public  IteratorRef  operator= ( aIterator : IteratorCref )
Stereotype:   <<operator>>
Documentation:
Assignment operator
public  bool  operator== ( anIterator : IteratorCref )
Stereotype:   <<operator>>
Constraints:  {query}
Documentation:
Equality operator, returns true if the iterator instances are the same.
public abstract  void  setNext ( [Unnamed] : void )
Stereotype:   <<setter>>
Documentation:
Sets the Iterator to point to the next element in the collection.
public abstract  void  setLast ( [Unnamed] : void )
Stereotype:   <<setter>>
Documentation:
Sets the iterator to point to the last element in the collection.
public abstract  ElementType  getElement ( [Unnamed] : void )
Stereotype:   <<getter>>
Constraints:  {query}
Documentation:
Gets the element that is currently pointed to by the iterator implementation. Enforces IteratorBoundsException
public abstract  void  setFirst ( [Unnamed] : void )
Stereotype:   <<setter>>
Documentation:
Sets the Iterator to point to the first element.
public abstract  bool  isValid ( [Unnamed] : void )
Stereotype:   <<getter>>
Constraints:  {query}
Documentation:
Returns true if current position of iteration points to a valid entry.
public abstract  void  setPrevious ( [Unnamed] : void )
Stereotype:   <<setter>>
Documentation:
Sets the iterator to point to the element prior to the current position.

class [Unnamed]

abstract class TransparentComponent < CompImpl >
Superclasses:
Data::Component

Documentation:
TransparentComponent favors transparency over safety by specifying the iterator and child interface.
Operations:
public  void  addComponent ( aComponent : CompImpl )
Stereotype:   <<setter>>
Documentation:
Method for adding components. It is in this class to maximize transparency, but the implementation throws an exception to minimize needless adds performed on Leafs.
public  void  removeComponent ( aComponent : CompImpl )
Stereotype:   <<setter>>
Documentation:
Method for removing components. It is in this class to maximize transparency, but the implementation throws an exception to minimize needless removes performed on Leafs.
public  Iterator<CompImpl>Ptr  createIterator ( [Unnamed] : void )
Stereotype:   <<constructor>>
Documentation:
Interface for creating Iterator of type Component.
public  void  destroyIterator ( [Unnamed] : Iterator<CompImpl>Ptr )
Stereotype:   <<destructor>>
Documentation:
Transparent deletion of iterator over children in composite implementation. The default behavior is to throw an exception.
public  TransparentComponent ( [Unnamed] : void )
Stereotype:   <<constructor>>
Documentation:
Default Constructor
public  TransparentComponent ( aComponent : TransparentComponentCref )
public  ~TransparentComponent ( [Unnamed] : void )
Stereotype:   <<destructor>>
Documentation:
Destructor
public  TransparentComponentRef  operator= ( aComponent : TransparentComponentCref )
Stereotype:   <<operator>>
Documentation:
Assignment operator
public  bool  operator== ( aComponent : TransparentComponentCref )
Constraints:  {query}
Documentation:
Equality operator returns true if the instances are the same.

class Exception
Documentation:
CoreLinux base Exception class.

class CompositeException
Superclasses:
Data::Exception

Documentation:
Base Composite Exception type.

class InvalidCompositeException
Superclasses:
Data::CompositeException

Documentation:
Exception that is usually thrown when an attempt is made to perform a composite component operation on a leaf component.

class Visitor
Documentation:
Represent an operation to be performed on the elements of an object structure. Visitors let you define a new operation without changing the classes of the components on which it operates.


package Data::Component View

SUMMARY
Total packages reported:     2
Total classes reported:      12
Total operations reported:      26


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