uk.co.lakesidetech.springxmldb.dao
Class BaseResourceManageXMLDBDao

java.lang.Object
  extended byuk.co.lakesidetech.springxmldb.dao.AbstractXMLDBDao
      extended byuk.co.lakesidetech.springxmldb.dao.BaseResourceManageXMLDBDao
All Implemented Interfaces:
IResourceManageXMLDBDao

public class BaseResourceManageXMLDBDao
extends AbstractXMLDBDao
implements IResourceManageXMLDBDao

Implementation of IResourceManageXMLDBDao using XML:DB apis to be reusable across any XML database which supports a pure XML:DB api

Author:
Stuart Eccles

Field Summary
 
Fields inherited from class uk.co.lakesidetech.springxmldb.dao.AbstractXMLDBDao
dataSource, RESOURCETYPE_XMLRESOURCE, XPATHQUERYSERVICE_NAME, XPATHQUERYSERVICE_VERSION, XUPDATEQUERYSERVICE_NAME, XUPDATEQUERYSERVICE_VERSION
 
Constructor Summary
BaseResourceManageXMLDBDao()
           
 
Method Summary
 java.lang.String insertUpdateBinaryFile(byte[] docBytes, java.lang.String docID, java.lang.String collectionPath)
          Insert or update a binary byte array into a XML database.
protected  java.lang.String insertUpdateBinaryObject(java.lang.Object binaryResource, java.lang.String docID, java.lang.String collectionPath)
          Do the insert/update of the object using the supplied Object as the resource content should be byte[] or String (File works for eXist only) as a Binary Resource
 java.lang.String insertUpdateFile(java.io.File file, java.lang.String docID, java.lang.String collectionPath)
          Insert or update a file (either XML or binary) from a File object to the database.
 java.lang.String insertUpdateInputStream(java.io.InputStream stream, java.lang.String docID, java.lang.String collectionPath)
          Insert or update information in a inputstream into a XML database.
 java.lang.String insertUpdateXMLDocument(org.w3c.dom.Document xmlDocument, java.lang.String docID, java.lang.String collectionPath)
          Insert or update a XML document from a supplied DOM object to the database.
 java.lang.String insertUpdateXMLDocument(java.io.File xmlDocument, java.lang.String docID, java.lang.String collectionPath)
          Insert or update a XML document from a File object to the database.
 java.lang.String insertUpdateXMLDocument(java.lang.String xmlDocument, java.lang.String docID, java.lang.String collectionPath)
          Insert or update a XML document specfied in the String supplied in the parameters.
protected  java.lang.String insertUpdateXMLDocumentObject(java.lang.Object xmlDocument, java.lang.String docID, java.lang.String collectionPath)
          Do the insert/update of the object using the supplied Object as the resource content should be byte[] or String (File works for eXist only) as a XML Resource
 boolean removeDocument(java.lang.String docID, java.lang.String collectionPath)
          Remove a document (XML or binary) from a collection
 org.w3c.dom.Document retrieveDocumentAsDOM(java.lang.String docID, java.lang.String collectionPath)
          Retrieve an XML document as a w3c DOM object from a collection in the XML database
 org.xmldb.api.base.Resource retrieveDocumentAsResource(java.lang.String docID, java.lang.String collectionPath)
          Retrieve a XML:DB Resource which can be either a binary or XML document from a collection in the XML database
 java.lang.String retrieveDocumentAsString(java.lang.String docID, java.lang.String collectionPath)
          Retrieve an XML document as a String from a collection in the XML database
 
Methods inherited from class uk.co.lakesidetech.springxmldb.dao.AbstractXMLDBDao
getDataSource, getNameSpaces, getXPathQueryServiceFromCollection, getXUpdateServiceFromCollection, processResourceSetToDocuments, processResourceSetToStrings, setDataSource, setNameSpaces
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BaseResourceManageXMLDBDao

public BaseResourceManageXMLDBDao()
Method Detail

insertUpdateXMLDocument

public java.lang.String insertUpdateXMLDocument(java.lang.String xmlDocument,
                                                java.lang.String docID,
                                                java.lang.String collectionPath)
                                         throws XMLDBDataAccessException
Description copied from interface: IResourceManageXMLDBDao
Insert or update a XML document specfied in the String supplied in the parameters. If the supplied docID is null the dao will attempt to insert with a null id relying on the database to supply a generated ID. If given a docID the dao will attempt to find an existing document in the given collection path, if a document exists it will update that document otherwise it will insert a new document with the supplied id.

Specified by:
insertUpdateXMLDocument in interface IResourceManageXMLDBDao
Parameters:
xmlDocument -
docID -
collectionPath -
Returns:
Throws:
XMLDBDataAccessException
See Also:
IResourceManageXMLDBDao.insertUpdateXMLDocument(java.lang.String, java.lang.String, java.lang.String)

insertUpdateXMLDocument

public java.lang.String insertUpdateXMLDocument(java.io.File xmlDocument,
                                                java.lang.String docID,
                                                java.lang.String collectionPath)
                                         throws XMLDBDataAccessException
Description copied from interface: IResourceManageXMLDBDao
Insert or update a XML document from a File object to the database. If the supplied docID is null the dao will attempt to insert with a null id relying on the database to supply a generated ID. If given a docID the dao will attempt to find an existing document in the given collection path, if a document exists it will update that document otherwise it will insert a new document with the supplied id.

Specified by:
insertUpdateXMLDocument in interface IResourceManageXMLDBDao
Parameters:
xmlDocument -
docID -
collectionPath -
Returns:
Throws:
XMLDBDataAccessException
See Also:
IResourceManageXMLDBDao.insertUpdateXMLDocument(java.io.File, java.lang.String, java.lang.String)

insertUpdateXMLDocumentObject

protected java.lang.String insertUpdateXMLDocumentObject(java.lang.Object xmlDocument,
                                                         java.lang.String docID,
                                                         java.lang.String collectionPath)
                                                  throws XMLDBDataAccessException
Do the insert/update of the object using the supplied Object as the resource content should be byte[] or String (File works for eXist only) as a XML Resource

Parameters:
xmlDocument - The Object of the xml contents
docID - The document id to use. null will generate a new id
collectionPath - The collectionpath to insert/update under
Returns:
The resulting resource ID
Throws:
XMLDBDataAccessException

insertUpdateBinaryObject

protected java.lang.String insertUpdateBinaryObject(java.lang.Object binaryResource,
                                                    java.lang.String docID,
                                                    java.lang.String collectionPath)
                                             throws XMLDBDataAccessException
Do the insert/update of the object using the supplied Object as the resource content should be byte[] or String (File works for eXist only) as a Binary Resource

Parameters:
docID - The document id to use. null will generate a new id
collectionPath - The collectionpath to insert/update under
Returns:
The resulting resource ID
Throws:
XMLDBDataAccessException

removeDocument

public boolean removeDocument(java.lang.String docID,
                              java.lang.String collectionPath)
                       throws XMLDBDataAccessException
Description copied from interface: IResourceManageXMLDBDao
Remove a document (XML or binary) from a collection

Specified by:
removeDocument in interface IResourceManageXMLDBDao
Parameters:
docID -
collectionPath -
Returns:
Throws:
XMLDBDataAccessException
See Also:
IResourceManageXMLDBDao.removeDocument(java.lang.String, java.lang.String)

retrieveDocumentAsDOM

public org.w3c.dom.Document retrieveDocumentAsDOM(java.lang.String docID,
                                                  java.lang.String collectionPath)
                                           throws XMLDBDataAccessException
Description copied from interface: IResourceManageXMLDBDao
Retrieve an XML document as a w3c DOM object from a collection in the XML database

Specified by:
retrieveDocumentAsDOM in interface IResourceManageXMLDBDao
Parameters:
docID -
collectionPath -
Returns:
Throws:
XMLDBDataAccessException
See Also:
IResourceManageXMLDBDao.retrieveDocumentAsDOM(java.lang.String, java.lang.String)

retrieveDocumentAsString

public java.lang.String retrieveDocumentAsString(java.lang.String docID,
                                                 java.lang.String collectionPath)
                                          throws XMLDBDataAccessException
Description copied from interface: IResourceManageXMLDBDao
Retrieve an XML document as a String from a collection in the XML database

Specified by:
retrieveDocumentAsString in interface IResourceManageXMLDBDao
Parameters:
docID -
collectionPath -
Returns:
Throws:
XMLDBDataAccessException
See Also:
IResourceManageXMLDBDao.retrieveDocumentAsString(java.lang.String, java.lang.String)

insertUpdateXMLDocument

public java.lang.String insertUpdateXMLDocument(org.w3c.dom.Document xmlDocument,
                                                java.lang.String docID,
                                                java.lang.String collectionPath)
                                         throws XMLDBDataAccessException
Description copied from interface: IResourceManageXMLDBDao
Insert or update a XML document from a supplied DOM object to the database. If the supplied docID is null the dao will attempt to insert with a null id relying on the database to supply a generated ID. If given a docID the dao will attempt to find an existing document in the given collection path, if a document exists it will update that document otherwise it will insert a new document with the supplied id.

Specified by:
insertUpdateXMLDocument in interface IResourceManageXMLDBDao
Parameters:
xmlDocument -
docID -
collectionPath -
Returns:
Throws:
XMLDBDataAccessException
See Also:
IResourceManageXMLDBDao.insertUpdateXMLDocument(org.w3c.dom.Document, java.lang.String, java.lang.String)

insertUpdateFile

public java.lang.String insertUpdateFile(java.io.File file,
                                         java.lang.String docID,
                                         java.lang.String collectionPath)
                                  throws XMLDBDataAccessException
Description copied from interface: IResourceManageXMLDBDao
Insert or update a file (either XML or binary) from a File object to the database. If the supplied docID is null the dao will attempt to insert with a null id relying on the database to supply a generated ID. If given a docID the dao will attempt to find an existing document in the given collection path, if a document exists it will update that document otherwise it will insert a new document with the supplied id.

Specified by:
insertUpdateFile in interface IResourceManageXMLDBDao
Parameters:
file -
docID -
collectionPath -
Returns:
Throws:
XMLDBDataAccessException
See Also:
IResourceManageXMLDBDao.insertUpdateFile(java.io.File, java.lang.String, java.lang.String)

insertUpdateBinaryFile

public java.lang.String insertUpdateBinaryFile(byte[] docBytes,
                                               java.lang.String docID,
                                               java.lang.String collectionPath)
                                        throws XMLDBDataAccessException
Description copied from interface: IResourceManageXMLDBDao
Insert or update a binary byte array into a XML database. If the byte[] is a true XML resource insert/update it as a XMLResource otherwise as a binary resource to the database. If the supplied docID is null the dao will attempt to insert with a null id relying on the database to supply a generated ID. If given a docID the dao will attempt to find an existing document in the given collection path, if a document exists it will update that document otherwise it will insert a new document with the supplied id.

Specified by:
insertUpdateBinaryFile in interface IResourceManageXMLDBDao
Parameters:
docBytes -
docID -
collectionPath -
Returns:
Throws:
XMLDBDataAccessException
See Also:
IResourceManageXMLDBDao.insertUpdateBinaryFile(byte[], java.lang.String, java.lang.String)

insertUpdateInputStream

public java.lang.String insertUpdateInputStream(java.io.InputStream stream,
                                                java.lang.String docID,
                                                java.lang.String collectionPath)
                                         throws XMLDBDataAccessException
Description copied from interface: IResourceManageXMLDBDao
Insert or update information in a inputstream into a XML database. If the strem result is a true XML resource insert/update it as a XMLResource otherwise as a binary resource to the database. If the supplied docID is null the dao will attempt to insert with a null id relying on the database to supply a generated ID. If given a docID the dao will attempt to find an existing document in the given collection path, if a document exists it will update that document otherwise it will insert a new document with the supplied id.

Specified by:
insertUpdateInputStream in interface IResourceManageXMLDBDao
Parameters:
stream -
docID -
collectionPath -
Returns:
Throws:
XMLDBDataAccessException
See Also:
IResourceManageXMLDBDao.insertUpdateInputStream(java.io.InputStream, java.lang.String, java.lang.String)

retrieveDocumentAsResource

public org.xmldb.api.base.Resource retrieveDocumentAsResource(java.lang.String docID,
                                                              java.lang.String collectionPath)
                                                       throws XMLDBDataAccessException
Description copied from interface: IResourceManageXMLDBDao
Retrieve a XML:DB Resource which can be either a binary or XML document from a collection in the XML database

Specified by:
retrieveDocumentAsResource in interface IResourceManageXMLDBDao
Parameters:
docID -
collectionPath -
Returns:
Throws:
XMLDBDataAccessException
See Also:
IResourceManageXMLDBDao.retrieveDocumentAsResource(java.lang.String, java.lang.String)