CustomAiml Class Reference

The custom AIML class that represents the AIML XML tag "aiml". More...

#include <CustomAIML.h>

List of all members.

Public Member Functions

 CustomAiml (GraphBuilderFramework &builder, Html &htmlPage) throw (InternalProgrammerErrorException &)
 Set the CustomTopic with the Html object reference.
virtual void handleInnerTag (const shared_ptr< Tag > &tag) throw (InternalProgrammerErrorException &)
 Calls the internal default CustomTopic Object's CustomTopic::handleInnerTag() with this AIML XML tag.

Private Attributes

CustomTopic m_defaultStarTopic
 My custom topic in which my custom AIML will use instead of the standard AIML using the regular Topic class.


Detailed Description

The custom AIML class that represents the AIML XML tag "aiml".

Every time a XML Tag of AIML is encountered, an instance of this class will be created. All text inbetween the begin and end tag, all attributes, and all inner Tags will go through methods of this class.

I inherit from AIML and override part of its functionality. In particular I override AIML to set *my* CustomTopic as the default that it will use.


Constructor & Destructor Documentation

CustomAiml GraphBuilderFramework &  builder,
Html htmlPage
throw (InternalProgrammerErrorException &)
 

Set the CustomTopic with the Html object reference.

Parameters:
builder The builder to send to the CustomTopic
htmlPage The html page to set the CustomTopic with.
Exceptions:
InternalProgrammerErrorException is thrown only if the error is so grave that the entire AIML engine has to be shut down.


Member Function Documentation

void handleInnerTag const shared_ptr< Tag > &  tag  )  throw (InternalProgrammerErrorException &) [virtual]
 

Calls the internal default CustomTopic Object's CustomTopic::handleInnerTag() with this AIML XML tag.

Whenever the AIML Tag encounters an inner AIML XML Tag it's always either a Category Tag or a Topic Tag. If it is a Category Tag it sends the Tag to its internal default Topic Tag object by calling its internal Topic Tag's handleInnerTag. If it is a Topic Tag it safetly ignores it. The default Topic Tag is a Topic Tag with its topic set to "*". When a Topic is not specified in AIML XML, it is to default to "*". When a Topic is not specified, this handleInnerTag gets called with a Category Tag object which in turn calls the internal default Topic Tag with the Category Tag object. When a Topic is specified AIML's handleInnerTag gets called with a Topic Object and safetly ignores it since it does not need to do anything with it.

Parameters:
tag A Category Tag or Topic Tag
Exceptions:
InternalProgrammerErrorException is thrown only if the error is so grave that the entire AIML engine has to be shut down.


Member Data Documentation

CustomTopic m_defaultStarTopic [private]
 

My custom topic in which my custom AIML will use instead of the standard AIML using the regular Topic class.


The documentation for this class was generated from the following files:
Generated on Thu Sep 7 22:05:52 2006 for RebeccaAIML by  doxygen 1.4.5