com.raritantechnologies.xml.xPath
Class XPathQueryParser

java.lang.Object
  extended bycom.raritantechnologies.xml.xPath.XPathQueryParser
All Implemented Interfaces:
IConfigurable, IQueryParser

public class XPathQueryParser
extends java.lang.Object
implements IQueryParser

Generates XPath query from a set of field/value pairs.

XML Configuration Template:
  <QueryParser class="com.raritantechnologies.xml.xPath.XPathQueryParser"
                  outputField="[ field in param map that gets the xPath query ]" >

    <!-- One or more XPathElements -->
    <XPathElement locationPath="[ XPath selection of nodes ]"
                     selectExpression="[ selection expression with {fieldID} placeholders ]" >

       <!-- can have one nested XPathElement -->
       <XPathElement locationPath="[ relative location path ]"
                         selectExpression="[ sub node select expression ]"
                         selectRequired="[true(default)|false]" /> 

       <!-- One or more FieldFilter elements - StringFilter that is applied to a field value -->
       <!-- before inserting into XPath expression -->
       <FieldFilter class="[ class of com.raritantechnologies.utils.filter.IStringFilter ]"
                       fieldID="[ id of parameter to apply filter to ]" >

       </FieldFilter>

    </XPathElement>

    <XPathElement etc... >

  </QueryParser>
 

Developed by Raritan Technologies Inc..

Author:
Ted Sullivan

Constructor Summary
XPathQueryParser()
           
 
Method Summary
 java.lang.String createQuery(OrderedMap params, java.lang.String language, ILoginInfo userInfo)
           
 java.util.List getErrors()
          Returns the errors that occurred during the translate() step.
 void initialize(org.w3c.dom.Element elem)
          Initializes the object from an XML tag or element.
 OrderedMap parse(OrderedMap params, ILoginInfo userInfo)
           
 OrderedMap parse(OrderedMap params, java.lang.String language, ILoginInfo userInfo)
          Translate using the input parameters if this is how the query is passed.
 void setLanguage(java.lang.String language)
           
 void setSessionID(java.lang.String id)
          Allows QueryParser object to access the sessionData.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XPathQueryParser

public XPathQueryParser()
Method Detail

parse

public OrderedMap parse(OrderedMap params,
                        java.lang.String language,
                        ILoginInfo userInfo)
                 throws QueryParseException,
                        UnsupportedLanguageException
Description copied from interface: IQueryParser
Translate using the input parameters if this is how the query is passed.

Specified by:
parse in interface IQueryParser
Parameters:
params - An ordered map containing the query parameters
language - String representing the target language (e.g. VQL)
Throws:
QueryParseException
UnsupportedLanguageException

parse

public OrderedMap parse(OrderedMap params,
                        ILoginInfo userInfo)
Specified by:
parse in interface IQueryParser

createQuery

public java.lang.String createQuery(OrderedMap params,
                                    java.lang.String language,
                                    ILoginInfo userInfo)
                             throws QueryParseException,
                                    UnsupportedLanguageException
Specified by:
createQuery in interface IQueryParser
Throws:
QueryParseException
UnsupportedLanguageException

setLanguage

public void setLanguage(java.lang.String language)
Specified by:
setLanguage in interface IQueryParser

getErrors

public java.util.List getErrors()
Description copied from interface: IQueryParser
Returns the errors that occurred during the translate() step.

Specified by:
getErrors in interface IQueryParser
Returns:
the list of error(s) (if any) that occurred.

setSessionID

public void setSessionID(java.lang.String id)
Description copied from interface: IQueryParser
Allows QueryParser object to access the sessionData.

Specified by:
setSessionID in interface IQueryParser

initialize

public void initialize(org.w3c.dom.Element elem)
Description copied from interface: IConfigurable
Initializes the object from an XML tag or element. This method is called by the Framework as part of the application initializtion. see ConfigurationManager, XMLConfigurationManager, XMLSearchFieldMapFactory, XMLSearchSourceFactory. Configurable objects that are owned or contained by other configurable objects will be initialized in by the parent object.

Specified by:
initialize in interface IQueryParser