Ceylan::XML::XMLSearchingVisitor Class Reference

XML visitor dedicated to the searching in an XML tree of specific elements. More...

#include <CeylanXMLVisitor.h>

Inheritance diagram for Ceylan::XML::XMLSearchingVisitor:
Inheritance graph
[legend]
Collaboration diagram for Ceylan::XML::XMLSearchingVisitor:
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

 XMLSearchingVisitor (MarkupName &searchedMarkupName)
 Creates a XML visitor dedicated to the searching of a XML tree.
virtual ~XMLSearchingVisitor () throw ()
 Virtual destructor.
std::list< XMLMarkup * > & getMatchingMarkups ()
 Find the XML markups from the visited tree that match the markup name specified in the constructor of this visitor.
virtual void visit (XMLMarkup &xmlMarkup)
 Visits specified XML markup and records it if it matches the search.
virtual void visit (XMLText &xmlText)
 Visits specified XML text.
virtual const std::string toString (Ceylan::VerbosityLevels level=Ceylan::high) const
 Returns a user-friendly description of the state of this object.
virtual Height getHeight () const
 Returns current height.
virtual void incrementHeight ()
 Increments current height.
virtual void decrementHeight ()
 Decrements current height.

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.

Protected Attributes

MarkupName _searchedMarkup
 The markup that is searched for.
std::list< XMLMarkup * > _matchingNodes
 The list that will contain all nodes whose content matches.

Static Protected Attributes

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

Private Member Functions

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

Detailed Description

XML visitor dedicated to the searching in an XML tree of specific elements.

Note:
Using a visitor here leads to inefficient search algorithm.
This visitor does not care about height information, hence being height-aware is useless here.

Definition at line 387 of file CeylanXMLVisitor.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

XMLSearchingVisitor::XMLSearchingVisitor ( MarkupName searchedMarkupName  ) 

Creates a XML visitor dedicated to the searching of a XML tree.

Parameters:
searchedMarkupName the name of the searched markup, for example 'para'.

Definition at line 249 of file CeylanXMLVisitor.cc.

XMLSearchingVisitor::~XMLSearchingVisitor (  )  throw () [virtual]

Virtual destructor.

Definition at line 257 of file CeylanXMLVisitor.cc.

Ceylan::XML::XMLSearchingVisitor::XMLSearchingVisitor ( const XMLSearchingVisitor 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

virtual void Ceylan::TreeHeightAwareVisitor< XMLElement >::decrementHeight (  )  [virtual, inherited]

Decrements current height.

Note:
A default do-nothing implementation is provided here, it is made to be overriden by the actual algorithm, which may use a single variable, or a stack, etc.

Reimplemented in Ceylan::XML::XMLSavingVisitor.

virtual Height Ceylan::TreeHeightAwareVisitor< XMLElement >::getHeight (  )  const [virtual, inherited]

Returns current height.

Note:
A default do-nothing implementation is provided here, it is made to be overriden by the actual algorithm, which may use a single variable, or a stack, etc.

Reimplemented in Ceylan::XML::XMLSavingVisitor.

list< XMLMarkup * > & XMLSearchingVisitor::getMatchingMarkups (  ) 

Find the XML markups from the visited tree that match the markup name specified in the constructor of this visitor.

Note:
The target tree must have been visited first so that nodes have been already searched, for example:
 XMLSearchingVisitor myXMLSearchingVisitor( "ul" ) ;
 myXMLTree.accept( myXMLSearchingVisitor ) ; 
 // Here the visitor has computed the list, then:
 std::list<XMLMarkup *> * myList = &
	 myXMLSearchingVisitor.getMatchingMarkups() ;
 ...
 // No deleting of myList nor of its elements, as ownership
 // kept by the visitor.
 
Returns:
the internal list of the visitor, which keeps its ownership. This list references the XML markups, from the visited tree, that match the specified markup name. These markups remain the property of the visited tree, therefore the elements of the list must not be deallocated by the caller of getMatchingMarkups.
Exceptions:
VisitException if the operation failed.
Note:
getMatchingMarkups should be called only once the tree has been visited, otherwise an empty list will be returned.

Definition at line 266 of file CeylanXMLVisitor.cc.

References _matchingNodes.

TextDisplayable::TextOutputFormat TextDisplayable::GetOutputFormat (  )  [static, inherited]
virtual void Ceylan::TreeHeightAwareVisitor< XMLElement >::incrementHeight (  )  [virtual, inherited]

Increments current height.

Note:
A default do-nothing implementation is provided here, it is made to be overriden by the actual algorithm, which may use a single variable, or a stack, etc.

Reimplemented in Ceylan::XML::XMLSavingVisitor.

XMLSearchingVisitor& Ceylan::XML::XMLSearchingVisitor::operator= ( const XMLSearchingVisitor 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 string XMLSearchingVisitor::toString ( Ceylan::VerbosityLevels  level = Ceylan::high  )  const [virtual]

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

Reimplemented from Ceylan::XML::XMLVisitor.

Definition at line 294 of file CeylanXMLVisitor.cc.

void XMLSearchingVisitor::visit ( XMLText xmlText  )  [virtual]

Visits specified XML text.

Parameters:
xmlText the XML text to visit.
Exceptions:
VisitException if this visit failed.

Implements Ceylan::XML::XMLVisitor.

Definition at line 285 of file CeylanXMLVisitor.cc.

void XMLSearchingVisitor::visit ( XMLMarkup xmlMarkup  )  [virtual]

Visits specified XML markup and records it if it matches the search.

Parameters:
xmlMarkup the XML markup to visit.
Exceptions:
VisitException if the visit failed.

Implements Ceylan::XML::XMLVisitor.

Definition at line 275 of file CeylanXMLVisitor.cc.

References _matchingNodes, _searchedMarkup, and Ceylan::XML::XMLMarkup::getMarkupName().


Member Data Documentation

The list that will contain all nodes whose content matches.

Definition at line 510 of file CeylanXMLVisitor.h.

Referenced by getMatchingMarkups(), and visit().

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 markup that is searched for.

Definition at line 496 of file CeylanXMLVisitor.h.

Referenced by visit().


The documentation for this class was generated from the following files:
Generated on Mon Nov 29 13:43:28 2010 for Ceylan by  doxygen 1.6.3