org.botlibre.aiml
Class AIMLParser

java.lang.Object
  org.botlibre.aiml.AIMLParser

public class AIMLParser
extends java.lang.Object

Utility class for printing the Self programming model. Self is the language that Bot programs herself in.


Field Summary
static java.util.Set<java.lang.String> attributeNodes
           
static java.util.List<java.lang.String> categoryChildren
           
static java.util.Set<java.lang.String> htmlTags
           
static int MAX_FILE_SIZE
           
static int MAX_IDENTIFIER
           
static int PAGE
           
static java.util.List<java.lang.String> patternChildren
           
static java.util.Set<java.lang.String> templateChildren
           
static java.util.List<java.lang.String> topicChildren
           
 
Constructor Summary
AIMLParser()
           
 
Method Summary
 void appendCode(org.w3c.dom.Element child, boolean multiStar, boolean[] srai, java.io.StringWriter writer, Network network)
           
 boolean appendHTML(java.lang.String tag, org.w3c.dom.Element child, boolean multiStar, boolean[] srai, boolean isFormula, java.io.StringWriter writer, Network network)
           
 void appendNestedString(org.w3c.dom.Element child, boolean multiStar, boolean[] srai, java.io.StringWriter writer, Network network)
           
 boolean appendNestedText(org.w3c.dom.Element child, boolean multiStar, boolean[] srai, java.io.StringWriter writer, Network network)
           
 void appendPatternCode(org.w3c.dom.Element child, boolean multiStar, boolean[] srai, java.io.StringWriter writer, Network network)
           
 void appendThink(org.w3c.dom.Element element, java.io.StringWriter writer, boolean multiStar, boolean[] srai, Network network)
           
 void checkSupportedChildren(org.w3c.dom.Element element, java.util.Collection<java.lang.String> tags, Network network)
           
 Vertex createState(Vertex pattern, Vertex parent, Network network)
          Create a left child state node for the pattern.
 java.util.List<org.w3c.dom.Element> getLocalElementsByTagName(java.lang.String tag, org.w3c.dom.Element element)
           
 java.lang.String getNodeValue(org.w3c.dom.Element node, java.lang.String value, java.lang.String defaulValue, boolean primitive, boolean quote, boolean multiStar, boolean[] srai, Network network)
           
 java.lang.String getPattern(org.w3c.dom.Element element, Network network)
           
 SelfCompiler getSelfCompiler()
           
 java.lang.String getTemplate(org.w3c.dom.Element element, boolean quote, boolean multiStar, boolean[] srai, boolean flattenFormulas, boolean addQuotes, boolean pattern, Network network)
           
 boolean isPattern(java.lang.String text)
           
 Vertex parseAIML(java.io.File file, boolean parseAsStateMachine, boolean createStates, boolean pin, boolean indexStatic, Vertex stateMachine, java.lang.String encoding, Network network)
          Get the contents of the URL to a .aiml file and parse it.
 Vertex parseAIML(java.lang.String code, boolean parseAsStateMachine, boolean createStates, boolean pin, boolean indexStatic, Vertex stateMachine, Network network)
          Parse the code into a vertex state machine defined in the network.
 Vertex parseAIML(java.net.URL url, boolean parseAsStateMachine, boolean createStates, boolean pin, boolean indexStatic, Vertex stateMachine, java.lang.String encoding, Network network)
          Get the contents of the URL to a .aiml file and parse it.
 Vertex parseAIMLTemplate(java.lang.String code, Network network)
          Parse the template into a forumla defined in the network.
 void parseCategory(org.w3c.dom.Element category, Vertex topic, boolean parseAsStateMachine, boolean createStates, boolean pin, boolean indexStatic, Vertex sentenceState, java.util.Map<java.lang.String,Vertex> cache, Network network)
           
static AIMLParser parser()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MAX_FILE_SIZE

public static int MAX_FILE_SIZE

PAGE

public static int PAGE

MAX_IDENTIFIER

public static int MAX_IDENTIFIER

htmlTags

public static java.util.Set<java.lang.String> htmlTags

topicChildren

public static java.util.List<java.lang.String> topicChildren

categoryChildren

public static java.util.List<java.lang.String> categoryChildren

patternChildren

public static java.util.List<java.lang.String> patternChildren

templateChildren

public static java.util.Set<java.lang.String> templateChildren

attributeNodes

public static java.util.Set<java.lang.String> attributeNodes
Constructor Detail

AIMLParser

public AIMLParser()
Method Detail

parser

public static AIMLParser parser()

getSelfCompiler

public SelfCompiler getSelfCompiler()

parseAIML

public Vertex parseAIML(java.net.URL url,
                        boolean parseAsStateMachine,
                        boolean createStates,
                        boolean pin,
                        boolean indexStatic,
                        Vertex stateMachine,
                        java.lang.String encoding,
                        Network network)
Get the contents of the URL to a .aiml file and parse it.


parseAIML

public Vertex parseAIML(java.io.File file,
                        boolean parseAsStateMachine,
                        boolean createStates,
                        boolean pin,
                        boolean indexStatic,
                        Vertex stateMachine,
                        java.lang.String encoding,
                        Network network)
Get the contents of the URL to a .aiml file and parse it.


parseAIMLTemplate

public Vertex parseAIMLTemplate(java.lang.String code,
                                Network network)
Parse the template into a forumla defined in the network.


parseAIML

public Vertex parseAIML(java.lang.String code,
                        boolean parseAsStateMachine,
                        boolean createStates,
                        boolean pin,
                        boolean indexStatic,
                        Vertex stateMachine,
                        Network network)
Parse the code into a vertex state machine defined in the network.


checkSupportedChildren

public void checkSupportedChildren(org.w3c.dom.Element element,
                                   java.util.Collection<java.lang.String> tags,
                                   Network network)

isPattern

public boolean isPattern(java.lang.String text)

parseCategory

public void parseCategory(org.w3c.dom.Element category,
                          Vertex topic,
                          boolean parseAsStateMachine,
                          boolean createStates,
                          boolean pin,
                          boolean indexStatic,
                          Vertex sentenceState,
                          java.util.Map<java.lang.String,Vertex> cache,
                          Network network)

createState

public Vertex createState(Vertex pattern,
                          Vertex parent,
                          Network network)
Create a left child state node for the pattern.


getLocalElementsByTagName

public java.util.List<org.w3c.dom.Element> getLocalElementsByTagName(java.lang.String tag,
                                                                     org.w3c.dom.Element element)

getPattern

public java.lang.String getPattern(org.w3c.dom.Element element,
                                   Network network)

appendNestedString

public void appendNestedString(org.w3c.dom.Element child,
                               boolean multiStar,
                               boolean[] srai,
                               java.io.StringWriter writer,
                               Network network)

appendNestedText

public boolean appendNestedText(org.w3c.dom.Element child,
                                boolean multiStar,
                                boolean[] srai,
                                java.io.StringWriter writer,
                                Network network)

appendHTML

public boolean appendHTML(java.lang.String tag,
                          org.w3c.dom.Element child,
                          boolean multiStar,
                          boolean[] srai,
                          boolean isFormula,
                          java.io.StringWriter writer,
                          Network network)

getTemplate

public java.lang.String getTemplate(org.w3c.dom.Element element,
                                    boolean quote,
                                    boolean multiStar,
                                    boolean[] srai,
                                    boolean flattenFormulas,
                                    boolean addQuotes,
                                    boolean pattern,
                                    Network network)

getNodeValue

public java.lang.String getNodeValue(org.w3c.dom.Element node,
                                     java.lang.String value,
                                     java.lang.String defaulValue,
                                     boolean primitive,
                                     boolean quote,
                                     boolean multiStar,
                                     boolean[] srai,
                                     Network network)

appendCode

public void appendCode(org.w3c.dom.Element child,
                       boolean multiStar,
                       boolean[] srai,
                       java.io.StringWriter writer,
                       Network network)

appendPatternCode

public void appendPatternCode(org.w3c.dom.Element child,
                              boolean multiStar,
                              boolean[] srai,
                              java.io.StringWriter writer,
                              Network network)

appendThink

public void appendThink(org.w3c.dom.Element element,
                        java.io.StringWriter writer,
                        boolean multiStar,
                        boolean[] srai,
                        Network network)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object