uk.ac.bbk.dcs.automed.xml.wrappers
Class SAXWrapper

java.lang.Object
  |
  +--uk.ac.ic.doc.automed.wrappers.AutoMedWrapper
        |
        +--uk.ac.bbk.dcs.automed.xml.wrappers.XMLWrapper
              |
              +--uk.ac.bbk.dcs.automed.xml.wrappers.SAXWrapper

public class SAXWrapper
extends XMLWrapper

A lower level wrapper that conforms to the XMLWrapper class. The SAXWrapper class uses SAX and DOM. The SAXWrapper creates a copy of the XML data source locally in order to query it. The SAXWrapper holds the schema in memory using DOM.

Author:
Lucas Zamboulis

Field Summary
 
Fields inherited from class uk.ac.bbk.dcs.automed.xml.wrappers.XMLWrapper
queryList, resultList, schemaDoc, schemaUIDDoc
 
Fields inherited from class uk.ac.ic.doc.automed.wrappers.AutoMedWrapper
am, awf, debug, driver, password, protocol, s, url, username
 
Constructor Summary
SAXWrapper(AccessMethod am, java.lang.String password)
           
 
Method Summary
protected  ASG elementAttributeQuery(java.lang.String searchNode1, java.lang.String searchNode2)
           
protected  ASG elementElementQuery(java.lang.String searchNode1, java.lang.String searchNode2)
           
protected  ASG elementElementQuery(java.lang.String searchNode1, java.lang.String searchNode2, int order)
          Nodes are compared based on elementName:count, not their whole UID
protected  ASG elementPCDataQuery(java.lang.String searchNode)
           
protected  ASG elementPCDataQuery(java.lang.String searchNode, int order)
           
protected  ASG elementQuery(java.lang.String searchNode)
           
 java.lang.String getProtocolName()
          The name of the Protocol in the repository used to represent JDBC connections.
static AutoMedWrapper newAutoMedWrapper(java.lang.String username, java.lang.String password, java.lang.String driver, java.lang.String url, java.lang.String schemaName, AutoMedWrapperFactory awf)
           
 
Methods inherited from class uk.ac.bbk.dcs.automed.xml.wrappers.XMLWrapper
connect, executeIQL, executeLocalQuery, executeXMLQuery, getDefaultWrapperFactory, getSchemaDoc, getSchemaName, getSchemaUIDDoc, getURI, getXMLDSS, UIDGetAttNameFromAttUID, UIDGetElementName, UIDGetElementName, UIDGetElementNameFromAttUID, UIDGetSchemaUIDFromInstanceUID, UIDGetSchemaUIDFromInstanceUID, UIDRemoveSchemaName, UIDRemoveSchemaName
 
Methods inherited from class uk.ac.ic.doc.automed.wrappers.AutoMedWrapper
atDebugLevel, cacheWrapper, deleteIQL, getAccessMethod, getAutoMedWrapper, getAutoMedWrapper, getAutoMedWrapperFactory, getOption, getOptionKeys, getProtocol, getSchema, getSchema, insertIQL, newAutoMedSchema, newAutoMedWrapper, newAutoMedWrapper, registerWrapper, selectNewAutoMedWrapper, selectNewAutoMedWrapper, setDebugLevel, setOption
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SAXWrapper

public SAXWrapper(AccessMethod am,
                  java.lang.String password)
           throws DataSourceException,
                  java.io.IOException,
                  org.xml.sax.SAXException
Method Detail

newAutoMedWrapper

public static AutoMedWrapper newAutoMedWrapper(java.lang.String username,
                                               java.lang.String password,
                                               java.lang.String driver,
                                               java.lang.String url,
                                               java.lang.String schemaName,
                                               AutoMedWrapperFactory awf)
                                        throws IntegrityException,
                                               DataSourceException
IntegrityException
DataSourceException

elementQuery

protected final ASG elementQuery(java.lang.String searchNode)
Specified by:
elementQuery in class XMLWrapper
Parameters:
searchNode - the tag of the element (not its UID)
Returns:
ASG with the result elements

elementAttributeQuery

protected final ASG elementAttributeQuery(java.lang.String searchNode1,
                                          java.lang.String searchNode2)
Specified by:
elementAttributeQuery in class XMLWrapper

elementElementQuery

protected final ASG elementElementQuery(java.lang.String searchNode1,
                                        java.lang.String searchNode2,
                                        int order)
Nodes are compared based on elementName:count, not their whole UID

Specified by:
elementElementQuery in class XMLWrapper
Parameters:
searchNode1 - parent element
searchNode2 - child element
order - the order of the child element in its parent's nodelist, including PCData nodes. If -1 then order is unimportant
Returns:

elementPCDataQuery

protected final ASG elementPCDataQuery(java.lang.String searchNode,
                                       int order)
Specified by:
elementPCDataQuery in class XMLWrapper

elementElementQuery

protected final ASG elementElementQuery(java.lang.String searchNode1,
                                        java.lang.String searchNode2)
Specified by:
elementElementQuery in class XMLWrapper

elementPCDataQuery

protected final ASG elementPCDataQuery(java.lang.String searchNode)
Specified by:
elementPCDataQuery in class XMLWrapper

getProtocolName

public java.lang.String getProtocolName()
The name of the Protocol in the repository used to represent JDBC connections.

Specified by:
getProtocolName in class AutoMedWrapper