org.jafer.query
Class QueryParser

java.lang.Object
  |
  +--org.jafer.query.QueryParser

public class QueryParser
extends java.lang.Object


Field Summary
private  QueryBuilder builder
           
private  org.w3c.dom.Document document
           
 
Constructor Summary
(package private) QueryParser(QueryBuilder builder, org.w3c.dom.Document document)
           
 
Method Summary
private  org.w3c.dom.Node checkConstraintModel(org.w3c.dom.Node cM)
           
private  org.w3c.dom.Node makeDummyNode()
           
private  org.w3c.dom.Node normalize(org.w3c.dom.Node node)
           
(package private)  org.w3c.dom.Node parseQuery(org.w3c.dom.Node inputNode)
          Queries are re-structured according to de Morgan's rules, and are checked for overall structure (do this with a schema in future?).
private  org.w3c.dom.Node processAndNode(org.w3c.dom.Node node)
           
private  org.w3c.dom.Node processNode(org.w3c.dom.Node node)
           
private  org.w3c.dom.Node processOrNode(org.w3c.dom.Node node)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

builder

private QueryBuilder builder

document

private org.w3c.dom.Document document
Constructor Detail

QueryParser

QueryParser(QueryBuilder builder,
            org.w3c.dom.Document document)
Method Detail

parseQuery

org.w3c.dom.Node parseQuery(org.w3c.dom.Node inputNode)
                      throws QueryException
Queries are re-structured according to de Morgan's rules, and are checked for overall structure (do this with a schema in future?). Any text nodes are removed, apart from the ones containing the attributes and terms, which have leading and trailing whitespace trimmed. Attribute values used are not checked here, or in ZSession, only in QueryBuilder.

QueryException

normalize

private org.w3c.dom.Node normalize(org.w3c.dom.Node node)
                            throws QueryException
QueryException

processNode

private org.w3c.dom.Node processNode(org.w3c.dom.Node node)
                              throws QueryException
QueryException

checkConstraintModel

private org.w3c.dom.Node checkConstraintModel(org.w3c.dom.Node cM)
                                       throws QueryException
QueryException

processAndNode

private org.w3c.dom.Node processAndNode(org.w3c.dom.Node node)

processOrNode

private org.w3c.dom.Node processOrNode(org.w3c.dom.Node node)

makeDummyNode

private org.w3c.dom.Node makeDummyNode()
                                throws QueryException
QueryException