org.dom4j
Class DocumentFactory

java.lang.Object
  extended byorg.dom4j.DocumentFactory
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
BeanDocumentFactory, DatatypeDocumentFactory, DatatypeElementFactory, DOMDocumentFactory, IndexedDocumentFactory, NonLazyDocumentFactory, UserDataDocumentFactory

public class DocumentFactory
extends Object
implements Serializable

DocumentFactory is a collection of factory methods to allow easy custom building of DOM4J trees. The default tree that is built uses a doubly linked tree.

The tree built allows full XPath expressions from anywhere on the tree.

Author:
James Strachan
See Also:
Serialized Form

Field Summary
protected  QNameCache cache
           
 
Constructor Summary
DocumentFactory()
           
 
Method Summary
 Attribute createAttribute(Element owner, QName qname, String value)
           
 Attribute createAttribute(Element owner, String name, String value)
           
 CDATA createCDATA(String text)
           
 Comment createComment(String text)
           
 DocumentType createDocType(String name, String publicId, String systemId)
           
 Document createDocument()
           
 Document createDocument(Element rootElement)
           
 Document createDocument(String encoding)
          DOCUMENT ME!
 Element createElement(QName qname)
           
 Element createElement(String name)
           
 Element createElement(String qualifiedName, String namespaceURI)
           
 Entity createEntity(String name, String text)
           
 Namespace createNamespace(String prefix, String uri)
           
 Pattern createPattern(String xpathPattern)
           createPattern parses the given XPath expression to create an XSLT style Patterninstance which can then be used in an XSLT processing model.
 ProcessingInstruction createProcessingInstruction(String target, Map data)
           
 ProcessingInstruction createProcessingInstruction(String target, String data)
           
 QName createQName(String localName)
           
 QName createQName(String localName, Namespace namespace)
           
 QName createQName(String qualifiedName, String uri)
           
 QName createQName(String name, String prefix, String uri)
           
protected  QNameCache createQNameCache()
          Factory method to create the QNameCache.
protected static DocumentFactory createSingleton(String className)
           createSingleton creates the singleton instance from the given class name.
 Text createText(String text)
           
 XPath createXPath(String xpathExpression)
           createXPath parses an XPath expression and creates a new XPath XPath instance.
 XPath createXPath(String xpathExpression, org.jaxen.VariableContext variableContext)
           createXPath parses an XPath expression and creates a new XPath XPath instance.
 NodeFilter createXPathFilter(String xpathFilterExpression)
           createXPathFilter parses a NodeFilter from the given XPath filter expression.
 NodeFilter createXPathFilter(String xpathFilterExpression, org.jaxen.VariableContext variableContext)
           createXPathFilter parses a NodeFilter from the given XPath filter expression.
static DocumentFactory getInstance()
           Access to singleton implementation of DocumentFactory which is used if no DocumentFactory is specified when building using the standard builders.
 List getQNames()
          Returns a list of all the QName instances currently used by this document factory
 Map getXPathNamespaceURIs()
          DOCUMENT ME!
protected  void init()
           
protected  QName intern(QName qname)
          DOCUMENT ME!
 void setXPathNamespaceURIs(Map namespaceURIs)
          Sets the namespace URIs to be used by XPath expressions created by this factory or by nodes associated with this factory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cache

protected transient QNameCache cache
Constructor Detail

DocumentFactory

public DocumentFactory()
Method Detail

getInstance

public static DocumentFactory getInstance()

Access to singleton implementation of DocumentFactory which is used if no DocumentFactory is specified when building using the standard builders.

Returns:
the default singleon instance

createDocument

public Document createDocument()

createDocument

public Document createDocument(String encoding)
DOCUMENT ME!

Parameters:
encoding - DOCUMENT ME!
Returns:
DOCUMENT ME!
Since:
1.5

createDocument

public Document createDocument(Element rootElement)

createDocType

public DocumentType createDocType(String name,
                                  String publicId,
                                  String systemId)

createElement

public Element createElement(QName qname)

createElement

public Element createElement(String name)

createElement

public Element createElement(String qualifiedName,
                             String namespaceURI)

createAttribute

public Attribute createAttribute(Element owner,
                                 QName qname,
                                 String value)

createAttribute

public Attribute createAttribute(Element owner,
                                 String name,
                                 String value)

createCDATA

public CDATA createCDATA(String text)

createComment

public Comment createComment(String text)

createText

public Text createText(String text)

createEntity

public Entity createEntity(String name,
                           String text)

createNamespace

public Namespace createNamespace(String prefix,
                                 String uri)

createProcessingInstruction

public ProcessingInstruction createProcessingInstruction(String target,
                                                         String data)

createProcessingInstruction

public ProcessingInstruction createProcessingInstruction(String target,
                                                         Map data)

createQName

public QName createQName(String localName,
                         Namespace namespace)

createQName

public QName createQName(String localName)

createQName

public QName createQName(String name,
                         String prefix,
                         String uri)

createQName

public QName createQName(String qualifiedName,
                         String uri)

createXPath

public XPath createXPath(String xpathExpression)
                  throws InvalidXPathException

createXPath parses an XPath expression and creates a new XPath XPath instance.

Parameters:
xpathExpression - is the XPath expression to create
Returns:
a new XPath instance
Throws:
InvalidXPathException - if the XPath expression is invalid

createXPath

public XPath createXPath(String xpathExpression,
                         org.jaxen.VariableContext variableContext)

createXPath parses an XPath expression and creates a new XPath XPath instance.

Parameters:
xpathExpression - is the XPath expression to create
variableContext - is the variable context to use when evaluating the XPath
Returns:
a new XPath instance

createXPathFilter

public NodeFilter createXPathFilter(String xpathFilterExpression,
                                    org.jaxen.VariableContext variableContext)

createXPathFilter parses a NodeFilter from the given XPath filter expression. XPath filter expressions occur within XPath expressions such as self::node()[ filterExpression ]

Parameters:
xpathFilterExpression - is the XPath filter expression to create
variableContext - is the variable context to use when evaluating the XPath
Returns:
a new NodeFilter instance

createXPathFilter

public NodeFilter createXPathFilter(String xpathFilterExpression)

createXPathFilter parses a NodeFilter from the given XPath filter expression. XPath filter expressions occur within XPath expressions such as self::node()[ filterExpression ]

Parameters:
xpathFilterExpression - is the XPath filter expression to create
Returns:
a new NodeFilter instance

createPattern

public Pattern createPattern(String xpathPattern)

createPattern parses the given XPath expression to create an XSLT style Patterninstance which can then be used in an XSLT processing model.

Parameters:
xpathPattern - is the XPath pattern expression to create
Returns:
a new Pattern instance

getQNames

public List getQNames()
Returns a list of all the QName instances currently used by this document factory

Returns:
DOCUMENT ME!

getXPathNamespaceURIs

public Map getXPathNamespaceURIs()
DOCUMENT ME!

Returns:
the Map of namespace URIs that will be used by by XPath expressions to resolve namespace prefixes into namespace URIs. The map is keyed by namespace prefix and the value is the namespace URI. This value could well be null to indicate no namespace URIs are being mapped.

setXPathNamespaceURIs

public void setXPathNamespaceURIs(Map namespaceURIs)
Sets the namespace URIs to be used by XPath expressions created by this factory or by nodes associated with this factory. The keys are namespace prefixes and the values are namespace URIs.

Parameters:
namespaceURIs - DOCUMENT ME!

createSingleton

protected static DocumentFactory createSingleton(String className)

createSingleton creates the singleton instance from the given class name.

Parameters:
className - is the name of the DocumentFactory class to use
Returns:
a new singleton instance.

intern

protected QName intern(QName qname)
DOCUMENT ME!

Parameters:
qname - DOCUMENT ME!
Returns:
the cached QName instance if there is one or adds the given qname to the cache if not

createQNameCache

protected QNameCache createQNameCache()
Factory method to create the QNameCache. This method should be overloaded if you wish to use your own derivation of QName.

Returns:
DOCUMENT ME!

init

protected void init()


Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.