#include <Topic.h>
Inheritance diagram for Topic:
Public Member Functions | |
virtual void | handleInnerTag (const shared_ptr< Tag > &tag) throw (InternalProgrammerErrorException &) |
Recieves Category objects in which it adds to the node mapper internal data structure. | |
virtual void | setAttribute (const StringPimpl &name, const StringPimpl &value) throw (InternalProgrammerErrorException &) |
Sets the attribute "name" to a value. | |
Topic (GraphBuilderFramework &builder) throw (InternalProgrammerErrorException &) | |
Initalizes the private implementation (m_pimpl) data and sets the private implementation with a reference to the GraphBuilderFramework. | |
virtual | ~Topic () |
Default virtual destructor. | |
Private Attributes | |
shared_ptr< TopicImpl > | m_pimpl |
The private implementation in which you cannot get access to. |
Every time a XML Tag of Topic 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.
|
Initalizes the private implementation (m_pimpl) data and sets the private implementation with a reference to the GraphBuilderFramework.
|
|
Default virtual destructor. Destroys the private implementation (m_pimpl) data. |
|
Recieves Category objects in which it adds to the node mapper internal data structure. This method first checks tag through Tag::instanceOf() to ensure it is an object of type Category. If it is not, it will throw a rebecca::impl::InternalProgrammerErrorException. Otherwise it will manipulate and add the object to the internal node mapper data structure. The node mapper data structure is the final step to adding information to the AIML brain. If this class is inherited from and completely replaced, and yet this handleInnerTag is *never* called, no information will ever be added to the AIML brain. This method of this class has to be called with a Category object to have the information added to the AIML brain.
Reimplemented from Tag. |
|
Sets the attribute "name" to a value. The name value attribute determines what type of Topic this is. If no attribute is given and this object is instantiated without a name value pair, it will default to "*" according to the AIML specification.
Reimplemented from Tag. |
|
The private implementation in which you cannot get access to. This shared_ptr holds the private methods and private member variables of this class. This makes ABI (Application Binary Interface) more resilient to change. See the private implementation idiom on the internet for more information about this. Reimplemented from InnerAIML. |