org.exist.xmldb
Class LocalXMLResource

java.lang.Object
  extended byorg.exist.xmldb.LocalXMLResource
All Implemented Interfaces:
Resource, XMLResource, XMLResourceImpl

public class LocalXMLResource
extends java.lang.Object
implements XMLResourceImpl

Local implementation of XMLResource.


Field Summary
protected  BrokerPool brokerPool
           
protected  java.lang.String content
           
protected  java.lang.String docId
           
protected  DocumentImpl document
           
protected  java.io.File file
           
protected  long id
           
protected  LocalCollection parent
           
protected  java.util.Map properties
           
protected  NodeProxy proxy
           
protected  org.w3c.dom.Node root
           
protected  User user
           
 
Fields inherited from interface org.xmldb.api.modules.XMLResource
RESOURCE_TYPE
 
Constructor Summary
LocalXMLResource(User user, BrokerPool pool, LocalCollection parent, DocumentImpl doc, long id, java.util.Map properties)
           
LocalXMLResource(User user, BrokerPool pool, LocalCollection parent, NodeProxy p, java.util.Map properties)
           
LocalXMLResource(User user, BrokerPool pool, LocalCollection parent, java.lang.String docId, long id)
           
LocalXMLResource(User user, BrokerPool pool, LocalCollection parent, java.lang.String did, long id, java.util.Map properties)
           
 
Method Summary
 java.lang.Object getContent()
          Retrieves the content from the resource.
 org.w3c.dom.Node getContentAsDOM()
          Returns the content of the Resource as a DOM Node.
 void getContentAsSAX(org.xml.sax.ContentHandler handler)
          Allows you to use a ContentHandler to parse the XML data from the database for use in an application.
 java.util.Date getCreationTime()
           
protected  DocumentImpl getDocument()
           
protected  void getDocument(DBBroker broker)
           
 java.lang.String getDocumentId()
          Returns the unique id for the parent document to this Resource or null if the Resource does not have a parent document.
 java.lang.String getId()
          Returns the unique id for this Resource or null if the Resource is anonymous.
 java.util.Date getLastModificationTime()
           
protected  NodeProxy getNode()
           
 Collection getParentCollection()
          Returns the Collection instance that this resource is associated with.
 java.lang.String getResourceType()
          Returns the resource type for this Resource.
 boolean getSAXFeature(java.lang.String arg0)
          Returns current setting of a SAX feature that will be used when this XMLResource is used to produce SAX events (through the getContentAsSAX() method)
 void setContent(java.lang.Object value)
          Sets the content for this resource.
 void setContentAsDOM(org.w3c.dom.Node root)
          Sets the content of the Resource using a DOM Node as the source.
 org.xml.sax.ContentHandler setContentAsSAX()
          Sets the content of the Resource using a SAX ContentHandler.
 void setSAXFeature(java.lang.String arg0, boolean arg1)
          Sets a SAX feature that will be used when this XMLResource is used to produce SAX events (through the getContentAsSAX() method)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

brokerPool

protected BrokerPool brokerPool

docId

protected java.lang.String docId

document

protected DocumentImpl document

parent

protected LocalCollection parent

proxy

protected NodeProxy proxy

id

protected long id

properties

protected java.util.Map properties

user

protected User user

content

protected java.lang.String content

file

protected java.io.File file

root

protected org.w3c.dom.Node root
Constructor Detail

LocalXMLResource

public LocalXMLResource(User user,
                        BrokerPool pool,
                        LocalCollection parent,
                        java.lang.String docId,
                        long id)
                 throws XMLDBException

LocalXMLResource

public LocalXMLResource(User user,
                        BrokerPool pool,
                        LocalCollection parent,
                        java.lang.String did,
                        long id,
                        java.util.Map properties)
                 throws XMLDBException

LocalXMLResource

public LocalXMLResource(User user,
                        BrokerPool pool,
                        LocalCollection parent,
                        DocumentImpl doc,
                        long id,
                        java.util.Map properties)
                 throws XMLDBException

LocalXMLResource

public LocalXMLResource(User user,
                        BrokerPool pool,
                        LocalCollection parent,
                        NodeProxy p,
                        java.util.Map properties)
                 throws XMLDBException
Method Detail

getContent

public java.lang.Object getContent()
                            throws XMLDBException
Description copied from interface: Resource
Retrieves the content from the resource. The type of the content varies depending what type of resource is being used.

Specified by:
getContent in interface Resource
Returns:
the content of the resource.
Throws:
XMLDBException - with expected error codes.
ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.

getContentAsDOM

public org.w3c.dom.Node getContentAsDOM()
                                 throws XMLDBException
Description copied from interface: XMLResource
Returns the content of the Resource as a DOM Node.

Specified by:
getContentAsDOM in interface XMLResource
Returns:
The XML content as a DOM Node
Throws:
XMLDBException - with expected error codes.
ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.

getContentAsSAX

public void getContentAsSAX(org.xml.sax.ContentHandler handler)
                     throws XMLDBException
Description copied from interface: XMLResource
Allows you to use a ContentHandler to parse the XML data from the database for use in an application.

Specified by:
getContentAsSAX in interface XMLResource
Parameters:
handler - the SAX ContentHandler to use to handle the Resource content.
Throws:
XMLDBException - with expected error codes.
ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.
ErrorCodes.INVALID_RESOURCE if the ContentHandler provided is null.

getDocument

protected DocumentImpl getDocument()

getDocument

protected void getDocument(DBBroker broker)
                    throws XMLDBException
Throws:
XMLDBException

getNode

protected NodeProxy getNode()

getDocumentId

public java.lang.String getDocumentId()
                               throws XMLDBException
Description copied from interface: XMLResource
Returns the unique id for the parent document to this Resource or null if the Resource does not have a parent document. getDocumentId() is typically used with Resource instances retrieved using a query. It enables accessing the parent document of the Resource even if the Resource is a child node of the document. If the Resource was not obtained through a query then getId() and getDocumentId() will return the same id.

Specified by:
getDocumentId in interface XMLResource
Returns:
the id for the parent document of this Resource or null if there is no parent document for this Resource.
Throws:
XMLDBException - with expected error codes.
ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.

getId

public java.lang.String getId()
                       throws XMLDBException
Description copied from interface: Resource
Returns the unique id for this Resource or null if the Resource is anonymous. The Resource will be anonymous if it is obtained as the result of a query.

Specified by:
getId in interface Resource
Returns:
the id for the Resource or null if no id exists.
Throws:
XMLDBException - with expected error codes.
ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.

getParentCollection

public Collection getParentCollection()
                               throws XMLDBException
Description copied from interface: Resource
Returns the Collection instance that this resource is associated with. All resources must exist within the context of a collection.

Specified by:
getParentCollection in interface Resource
Returns:
the collection associated with the resource.
Throws:
XMLDBException - with expected error codes.
ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.

getResourceType

public java.lang.String getResourceType()
                                 throws XMLDBException
Description copied from interface: Resource
Returns the resource type for this Resource.

XML:DB defined resource types are:

XMLResource - all XML data stored in the database
BinaryResource - Binary blob data stored in the database

Specified by:
getResourceType in interface Resource
Returns:
the resource type for the Resource.
Throws:
XMLDBException - with expected error codes.
ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.

getCreationTime

public java.util.Date getCreationTime()
                               throws XMLDBException
Specified by:
getCreationTime in interface XMLResourceImpl
Throws:
XMLDBException

getLastModificationTime

public java.util.Date getLastModificationTime()
                                       throws XMLDBException
Specified by:
getLastModificationTime in interface XMLResourceImpl
Throws:
XMLDBException

setContent

public void setContent(java.lang.Object value)
                throws XMLDBException
Sets the content for this resource. If value is of type File, it is directly passed to the parser when Collection.storeResource is called. Otherwise the method tries to convert the value to String. Passing a File object should be preferred if the document is large. The file's content will not be loaded into memory but directly passed to a SAX parser.

Specified by:
setContent in interface Resource
Parameters:
value - the content value to set for the resource.
Throws:
XMLDBException - with expected error codes.
ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.

setContentAsDOM

public void setContentAsDOM(org.w3c.dom.Node root)
                     throws XMLDBException
Description copied from interface: XMLResource
Sets the content of the Resource using a DOM Node as the source.

Specified by:
setContentAsDOM in interface XMLResource
Parameters:
root - The new content value
Throws:
XMLDBException - with expected error codes.
ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.
ErrorCodes.INVALID_RESOURCE if the content value provided is null.
ErrorCodes.WRONG_CONTENT_TYPE if the content provided in not a valid DOM Node.

setContentAsSAX

public org.xml.sax.ContentHandler setContentAsSAX()
                                           throws XMLDBException
Description copied from interface: XMLResource
Sets the content of the Resource using a SAX ContentHandler.

Specified by:
setContentAsSAX in interface XMLResource
Returns:
a SAX ContentHandler that can be used to add content into the Resource.
Throws:
XMLDBException - with expected error codes.
ErrorCodes.VENDOR_ERROR for any vendor specific errors that occur.

getSAXFeature

public boolean getSAXFeature(java.lang.String arg0)
                      throws org.xml.sax.SAXNotRecognizedException,
                             org.xml.sax.SAXNotSupportedException
Description copied from interface: XMLResource
Returns current setting of a SAX feature that will be used when this XMLResource is used to produce SAX events (through the getContentAsSAX() method)

Specified by:
getSAXFeature in interface XMLResource
Parameters:
arg0 - Feature name. Standard SAX feature names are documented at http://sax.sourceforge.net/.
Returns:
whether the feature is set
Throws:
org.xml.sax.SAXNotRecognizedException
org.xml.sax.SAXNotSupportedException

setSAXFeature

public void setSAXFeature(java.lang.String arg0,
                          boolean arg1)
                   throws org.xml.sax.SAXNotRecognizedException,
                          org.xml.sax.SAXNotSupportedException
Description copied from interface: XMLResource
Sets a SAX feature that will be used when this XMLResource is used to produce SAX events (through the getContentAsSAX() method)

Specified by:
setSAXFeature in interface XMLResource
Parameters:
arg0 - Feature name. Standard SAX feature names are documented at http://sax.sourceforge.net/.
arg1 - Set or unset feature
Throws:
org.xml.sax.SAXNotRecognizedException
org.xml.sax.SAXNotSupportedException


Copyright (C) Wolfgang Meier. All rights reserved.