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

Core::Visitor Class Reference

#include <Visitor.h>

Inheritance diagram for Core::Visitor:

Inheritance graph
[legend]
Collaboration diagram for Core::Visitor:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual String * className (void) const
 Answer receiver class name.
virtual void visitAssociation (Association *element)
virtual void visitBoolean (Boolean *element)
virtual void visitCharacter (Character *element)
virtual void visitCollection (Collection *element)
virtual void visitDictionary (Dictionary *element)
virtual void visitException (GenericException *element)
virtual void visitNumber (Number *element)
virtual void visitObject (Object *element)
virtual void visitString (String *element)

Member Function Documentation

String * Visitor::className (  void   )  const [virtual]
 

Answer receiver class name.

Because there isn't any standard way to obtain class name this method comes to place.

Every class should rewrite this method but many didn't (yet).

Reimplemented from Core::Object.

Definition at line 39 of file Visitor.cc.

00040 {
00041     return new String("Visitor");
00042 }

void Visitor::visitAssociation (  Association *  element  )  [virtual]
 

Definition at line 45 of file Visitor.cc.

References Core::Association::key(), and Core::Association::value().

Referenced by Core::Association::visitBy().

00046 {
00047     element->key()->visitBy(this);
00048     element->value()->visitBy(this);
00049 }

void Visitor::visitBoolean (  Boolean *  element  )  [virtual]
 

Definition at line 51 of file Visitor.cc.

Referenced by Core::Boolean::visitBy().

00052 {
00053     /* nothing */
00054 }

void Visitor::visitCharacter (  Character *  element  )  [virtual]
 

Definition at line 56 of file Visitor.cc.

Referenced by Core::Character::visitBy().

00057 {
00058     /* nothing */
00059 }

void Visitor::visitCollection (  Collection *  element  )  [virtual]
 

Definition at line 61 of file Visitor.cc.

References Core::Collection::iterator().

Referenced by Core::Collection::visitBy(), and visitDictionary().

00062 {
00063     for (Iterator *i = element->iterator(); !i->finished(); i->next())
00064         i->value()->visitBy(this);
00065 }

void Visitor::visitDictionary (  Dictionary *  element  )  [virtual]
 

Definition at line 67 of file Visitor.cc.

References visitCollection().

00068 {
00069     visitCollection(element);
00070 }

void Visitor::visitException (  GenericException *  element  )  [virtual]
 

Definition at line 72 of file Visitor.cc.

Referenced by Core::GenericException::visitBy().

00073 {
00074     /* nothing */
00075 }

void Visitor::visitNumber (  Number *  element  )  [virtual]
 

Definition at line 77 of file Visitor.cc.

Referenced by Core::Number::visitBy().

00078 {
00079     /* nothing */
00080 }

void Visitor::visitObject (  Object *  element  )  [virtual]
 

Definition at line 82 of file Visitor.cc.

Referenced by Core::Object::visitBy().

00083 {
00084     /* nothing */
00085 }

void Visitor::visitString (  String *  element  )  [virtual]
 

Definition at line 87 of file Visitor.cc.

00088 {
00089     /* nothing */
00090 }


The documentation for this class was generated from the following files:
Generated on Mon Nov 27 09:52:07 2006 for Smalltalk like C++ Class Library by  doxygen 1.4.2