Ceylan::Visitor Class Reference

A Visitor is a class designed to be subclassed. More...

#include <CeylanVisitor.h>

Inheritance diagram for Ceylan::Visitor:

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

Collaboration graph
[legend]

List of all members.

Public Types

enum  TextOutputFormat { rawText, html }
 Defines what text output formats for TextDisplayable instances are available. More...

Public Member Functions

 Visitor ()
 Default empty constructor.
virtual const std::string toString (Ceylan::VerbosityLevels level=Ceylan::high) const
 Visits a concrete Visitable.

Static Public Member Functions

static const std::string ToString (std::list< TextDisplayable * > displayables, Ceylan::VerbosityLevels level=Ceylan::high)
 Returns a user-friendly description of this list of pointers to text displayable instances.
static TextOutputFormat GetOutputFormat ()
 Returns the current overall text format to be used by TextDisplayable instances.
static void SetOutputFormat (TextOutputFormat newOutputFormat)
 Sets the current overall text format to be used by TextDisplayable instances.

Static Protected Attributes

static TextOutputFormat _OutputFormat = rawText
 The text format to be used currently by TextDisplayable instances.

Private Member Functions

 Visitor (const Visitor &source)
 Copy constructor made private to ensure that it will never be called.
Visitoroperator= (const Visitor &source)
 Assignment operator made private to ensure that it will never be called.


Detailed Description

A Visitor is a class designed to be subclassed.

Each child class can visit a structure of Visitable instances and perform dedicated actions, that depend on the actual visitor and on the actual visitable being visited.

See also:
http://en.wikipedia.org/wiki/Visitor_pattern
Note:
This code is less meant for code reuse than for didactic purpose, as seldom any generic code can be shared for visitors.

Definition at line 61 of file CeylanVisitor.h.


Member Enumeration Documentation

Defines what text output formats for TextDisplayable instances are available.

Enumerator:
rawText 
html 

Definition at line 124 of file CeylanTextDisplayable.h.


Constructor & Destructor Documentation

Visitor::Visitor (  ) 

Default empty constructor.

Definition at line 33 of file CeylanVisitor.cc.

Ceylan::Visitor::Visitor ( const Visitor source  )  [private]

Copy constructor made private to ensure that it will never be called.

The compiler should complain whenever this undefined constructor is called, implicitly or not.

Note:
Made to avoid unwanted hidden clone of the Singleton.


Member Function Documentation

TextDisplayable::TextOutputFormat TextDisplayable::GetOutputFormat (  )  [static, inherited]

Visitor& Ceylan::Visitor::operator= ( const Visitor source  )  [private]

Assignment operator made private to ensure that it will never be called.

The compiler should complain whenever this undefined operator is called, implicitly or not.

void TextDisplayable::SetOutputFormat ( TextOutputFormat  newOutputFormat  )  [static, inherited]

Sets the current overall text format to be used by TextDisplayable instances.

Parameters:
newOutputFormat the new output format.

Definition at line 72 of file CeylanTextDisplayable.cc.

References Ceylan::TextDisplayable::_OutputFormat.

Referenced by Ceylan::Log::LogHolder::LogHolder().

const std::string TextDisplayable::ToString ( std::list< TextDisplayable * >  displayables,
Ceylan::VerbosityLevels  level = Ceylan::high 
) [static, inherited]

Returns a user-friendly description of this list of pointers to text displayable instances.

Parameters:
displayables a list of pointers to TextDisplayable instances/
level the requested verbosity level.
Note:
Text output format is determined from overall settings.
See also:
toString, Ceylan::VerbosityLevels

Definition at line 45 of file CeylanTextDisplayable.cc.

References Ceylan::formatStringList().

const std::string Visitor::toString ( Ceylan::VerbosityLevels  level = Ceylan::high  )  const [virtual]

Visits a concrete Visitable.

Note:
Should be declared on the actual visitor (ex: a XMLVisitor) as it must specify the actual visitables it can visit (ex: XML markup, XML text, etc.), and not a more generic type.
virtual void visit( MyFirstConcreteVisitable & concreteVisitable ) ; Returns a user-friendly description of the state of this object.

Parameters:
level the requested verbosity level.
Note:
Text output format is determined from overall settings.
See also:
TextDisplayable

Implements Ceylan::TextDisplayable.

Reimplemented in Ceylan::XML::XMLVisitor, Ceylan::XML::XMLSavingVisitor, and Ceylan::XML::XMLSearchingVisitor.

Definition at line 40 of file CeylanVisitor.cc.

Referenced by Ceylan::XML::XMLText::accept(), Ceylan::XML::XMLMarkup::accept(), and Ceylan::Tree< Content >::accept().


Member Data Documentation

TextDisplayable::TextOutputFormat TextDisplayable::_OutputFormat = rawText [static, protected, inherited]

The text format to be used currently by TextDisplayable instances.

Note:
Defaults to raw text.

Definition at line 158 of file CeylanTextDisplayable.h.

Referenced by Ceylan::TextDisplayable::GetOutputFormat(), and Ceylan::TextDisplayable::SetOutputFormat().


The documentation for this class was generated from the following files:

Generated on Thu Jun 4 20:40:21 2009 for Ceylan by  doxygen 1.5.8