Package uk.ac.starlink.votable.dom
Class DelegatingDocument
- java.lang.Object
-
- uk.ac.starlink.votable.dom.DelegatingNode
-
- uk.ac.starlink.votable.dom.DelegatingDocument
-
- All Implemented Interfaces:
org.w3c.dom.Document
,org.w3c.dom.Node
- Direct Known Subclasses:
VODocument
public class DelegatingDocument extends DelegatingNode implements org.w3c.dom.Document
DOM Document implementation which delegates its operations to a base Document instance. This is the basic class which must be used and extended when using the delegate DOM package.In order to specialise the nodes which appear in a DOM, you have to override the protected createDelegating* methods to return your own custom DelegatingNode subclasses.
- Since:
- 14 Sep 2004
- Author:
- Mark Taylor (Starlink)
-
-
Field Summary
-
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
-
-
Constructor Summary
Constructors Constructor Description DelegatingDocument(java.lang.String documentURI)
Constructs a new empty document based on a new empty document got from the default DOM implementation.DelegatingDocument(org.w3c.dom.Document base, java.lang.String documentURI)
Constructs a new document which delegates its behaviour to a Document from another DOM.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.w3c.dom.Node
adoptNode(org.w3c.dom.Node source)
org.w3c.dom.Attr
createAttribute(java.lang.String name)
org.w3c.dom.Attr
createAttributeNS(java.lang.String namespaceURI, java.lang.String qualifiedName)
org.w3c.dom.CDATASection
createCDATASection(java.lang.String data)
org.w3c.dom.Comment
createComment(java.lang.String data)
protected DelegatingAttr
createDelegatingAttr(org.w3c.dom.Attr baseNode)
Creates a new node in this document that delegates to an object of classAttr
in the base model.protected DelegatingAttr
createDelegatingAttr(org.w3c.dom.Attr baseNode, boolean isId)
Creates a new node in this document that delegates to an object of classAttr
and knows whether it is an ID-type attribute or not.protected DelegatingCDATASection
createDelegatingCDATASection(org.w3c.dom.CDATASection baseNode)
Creates a new node in this document that delegates to an object of classCDATASection
in the base model.protected DelegatingCharacterData
createDelegatingCharacterData(org.w3c.dom.CharacterData baseNode)
Creates a new node in this document that delegates to an object of classCharacterData
(not one of its subclasses) in the base model.protected DelegatingComment
createDelegatingComment(org.w3c.dom.Comment baseNode)
Creates a new node in this document that delegates to an object of classComment
in the base model.protected DelegatingDocumentFragment
createDelegatingDocumentFragment(org.w3c.dom.DocumentFragment baseNode)
Creates a new node in this document that delegates to an object of classDocumentFragment
in the base model.protected DelegatingDocumentType
createDelegatingDocumentType(org.w3c.dom.DocumentType baseNode)
Creates a new node in this document that delegates to an object of classDocumentType
in the base model.protected DelegatingElement
createDelegatingElement(org.w3c.dom.Element baseNode)
Creates a new node in this document that delegates to an object of classElement
in the base model.protected DelegatingEntity
createDelegatingEntity(org.w3c.dom.Entity baseNode)
Creates a new node in this document that delegates to an object of classEntity
in the base model.protected DelegatingEntityReference
createDelegatingEntityReference(org.w3c.dom.EntityReference baseNode)
Creates a new node in this document that delegates to an object of classEntityReference
in the base model.protected org.w3c.dom.NamedNodeMap
createDelegatingNamedNodeMap(org.w3c.dom.NamedNodeMap baseMap)
Returns a NamedNodeMap which will dispense nodes in this document.protected org.w3c.dom.NodeList
createDelegatingNodeList(org.w3c.dom.NodeList baseList)
Returns a NodeList which will dispense nodes in this document.protected DelegatingNotation
createDelegatingNotation(org.w3c.dom.Notation baseNode)
Creates a new node in this document that delegates to an object of classNotation
in the base model.protected DelegatingProcessingInstruction
createDelegatingProcessingInstruction(org.w3c.dom.ProcessingInstruction baseNode)
Creates a new node in this document that delegates to an object of classProcessingInstruction
in the base model.protected DelegatingNode
createDelegatingSimpleNode(org.w3c.dom.Node baseNode)
Creates a new node in this document that delegates to an object of classNode
(not one of its subclasses) in the base model.protected DelegatingText
createDelegatingText(org.w3c.dom.Text baseNode)
Creates a new node in this document that delegates to an object of classText
(not one of its subclasses) in the base model.org.w3c.dom.DocumentFragment
createDocumentFragment()
org.w3c.dom.Element
createElement(java.lang.String tagName)
org.w3c.dom.Element
createElementNS(java.lang.String namespaceURI, java.lang.String qualifiedName)
org.w3c.dom.EntityReference
createEntityReference(java.lang.String name)
org.w3c.dom.ProcessingInstruction
createProcessingInstruction(java.lang.String target, java.lang.String data)
org.w3c.dom.Text
createTextNode(java.lang.String data)
protected org.w3c.dom.Document
getBaseDocument()
Returns the base document (the one to which this delegates).protected DelegatingNode
getDelegator(org.w3c.dom.Node baseNode)
Returns the node in this document which delegates to (is based on) a given node in the base document.org.w3c.dom.DocumentType
getDoctype()
org.w3c.dom.Element
getDocumentElement()
java.lang.String
getDocumentURI()
org.w3c.dom.DOMConfiguration
getDomConfig()
org.w3c.dom.Element
getElementById(java.lang.String elementId)
org.w3c.dom.NodeList
getElementsByTagName(java.lang.String tagname)
org.w3c.dom.NodeList
getElementsByTagNameNS(java.lang.String namespaceURI, java.lang.String localName)
org.w3c.dom.DOMImplementation
getImplementation()
Returns the implementation of the base document.java.lang.String
getInputEncoding()
boolean
getStrictErrorChecking()
java.lang.String
getXmlEncoding()
boolean
getXmlStandalone()
java.lang.String
getXmlVersion()
org.w3c.dom.Node
importNode(org.w3c.dom.Node importedNode, boolean deep)
void
normalizeDocument()
org.w3c.dom.Node
renameNode(org.w3c.dom.Node node, java.lang.String namespaceURI, java.lang.String qualifiedName)
void
setDocumentURI(java.lang.String documentURI)
void
setStrictErrorChecking(boolean strictErrorChecking)
void
setXmlStandalone(boolean xmlStandalone)
void
setXmlVersion(java.lang.String xmlVersion)
-
Methods inherited from class uk.ac.starlink.votable.dom.DelegatingNode
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.w3c.dom.Node
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
-
-
-
-
Constructor Detail
-
DelegatingDocument
public DelegatingDocument(org.w3c.dom.Document base, java.lang.String documentURI)
Constructs a new document which delegates its behaviour to a Document from another DOM.- Parameters:
base
- delegate document nodedocumentURI
- location of the document, or null
-
DelegatingDocument
public DelegatingDocument(java.lang.String documentURI)
Constructs a new empty document based on a new empty document got from the default DOM implementation. This can theoretically result in a ParserConfigurationException, but shouldn't do for any sensibly set up JVM - any such condition is rethrown as a RuntimeException.- Parameters:
documentURI
- location of the document, or null
-
-
Method Detail
-
getDelegator
protected DelegatingNode getDelegator(org.w3c.dom.Node baseNode)
Returns the node in this document which delegates to (is based on) a given node in the base document. If this node has not previously been encountered, it will be created here.- Parameters:
baseNode
- node in the base document- Returns:
- corresponding node in this document
-
getBaseDocument
protected org.w3c.dom.Document getBaseDocument()
Returns the base document (the one to which this delegates).- Returns:
- base document
-
createDelegatingSimpleNode
protected DelegatingNode createDelegatingSimpleNode(org.w3c.dom.Node baseNode)
Creates a new node in this document that delegates to an object of classNode
(not one of its subclasses) in the base model. This may be overridden to create specialised node types.- Parameters:
baseNode
- delegate node- Returns:
- new node in this model based on baseNode
-
createDelegatingAttr
protected DelegatingAttr createDelegatingAttr(org.w3c.dom.Attr baseNode)
Creates a new node in this document that delegates to an object of classAttr
in the base model. This may be overridden to create specialised node types.- Parameters:
baseNode
- delegate node- Returns:
- new node in this model based on baseNode
-
createDelegatingAttr
protected DelegatingAttr createDelegatingAttr(org.w3c.dom.Attr baseNode, boolean isId)
Creates a new node in this document that delegates to an object of classAttr
and knows whether it is an ID-type attribute or not. This is not called by any method of this class, but can be used by subclass implementations ofcreateDelegatingAttr(org.w3c.dom.Attr)
.- Parameters:
baseNode
- delegate nodeisId
- true if this node knows it is an ID, false if it knows it isn't- Returns:
- new node in this model based on baseNode
-
createDelegatingCDATASection
protected DelegatingCDATASection createDelegatingCDATASection(org.w3c.dom.CDATASection baseNode)
Creates a new node in this document that delegates to an object of classCDATASection
in the base model. This may be overridden to create specialised node types.- Parameters:
baseNode
- delegate node- Returns:
- new node in this model based on baseNode
-
createDelegatingCharacterData
protected DelegatingCharacterData createDelegatingCharacterData(org.w3c.dom.CharacterData baseNode)
Creates a new node in this document that delegates to an object of classCharacterData
(not one of its subclasses) in the base model. This may be overridden to create specialised node types.- Parameters:
baseNode
- delegate node- Returns:
- new node in this model based on baseNode
-
createDelegatingComment
protected DelegatingComment createDelegatingComment(org.w3c.dom.Comment baseNode)
Creates a new node in this document that delegates to an object of classComment
in the base model. This may be overridden to create specialised node types.- Parameters:
baseNode
- delegate node- Returns:
- new node in this model based on baseNode
-
createDelegatingDocumentFragment
protected DelegatingDocumentFragment createDelegatingDocumentFragment(org.w3c.dom.DocumentFragment baseNode)
Creates a new node in this document that delegates to an object of classDocumentFragment
in the base model. This may be overridden to create specialised node types.- Parameters:
baseNode
- delegate node- Returns:
- new node in this model based on baseNode
-
createDelegatingDocumentType
protected DelegatingDocumentType createDelegatingDocumentType(org.w3c.dom.DocumentType baseNode)
Creates a new node in this document that delegates to an object of classDocumentType
in the base model. This may be overridden to create specialised node types.- Parameters:
baseNode
- delegate node- Returns:
- new node in this model based on baseNode
-
createDelegatingElement
protected DelegatingElement createDelegatingElement(org.w3c.dom.Element baseNode)
Creates a new node in this document that delegates to an object of classElement
in the base model. This may be overridden to create specialised node types.- Parameters:
baseNode
- delegate node- Returns:
- new node in this model based on baseNode
-
createDelegatingEntity
protected DelegatingEntity createDelegatingEntity(org.w3c.dom.Entity baseNode)
Creates a new node in this document that delegates to an object of classEntity
in the base model. This may be overridden to create specialised node types.- Parameters:
baseNode
- delegate node- Returns:
- new node in this model based on baseNode
-
createDelegatingEntityReference
protected DelegatingEntityReference createDelegatingEntityReference(org.w3c.dom.EntityReference baseNode)
Creates a new node in this document that delegates to an object of classEntityReference
in the base model. This may be overridden to create specialised node types.- Parameters:
baseNode
- delegate node- Returns:
- new node in this model based on baseNode
-
createDelegatingNotation
protected DelegatingNotation createDelegatingNotation(org.w3c.dom.Notation baseNode)
Creates a new node in this document that delegates to an object of classNotation
in the base model. This may be overridden to create specialised node types.- Parameters:
baseNode
- delegate node- Returns:
- new node in this model based on baseNode
-
createDelegatingProcessingInstruction
protected DelegatingProcessingInstruction createDelegatingProcessingInstruction(org.w3c.dom.ProcessingInstruction baseNode)
Creates a new node in this document that delegates to an object of classProcessingInstruction
in the base model. This may be overridden to create specialised node types.- Parameters:
baseNode
- delegate node- Returns:
- new node in this model based on baseNode
-
createDelegatingText
protected DelegatingText createDelegatingText(org.w3c.dom.Text baseNode)
Creates a new node in this document that delegates to an object of classText
(not one of its subclasses) in the base model. This may be overridden to create specialised node types.- Parameters:
baseNode
- delegate node- Returns:
- new node in this model based on baseNode
-
createDelegatingNodeList
protected org.w3c.dom.NodeList createDelegatingNodeList(org.w3c.dom.NodeList baseList)
Returns a NodeList which will dispense nodes in this document.- Parameters:
baseList
- node list which dispenses nodes in the base document- Returns:
- equivalent of baseList in this document
-
createDelegatingNamedNodeMap
protected org.w3c.dom.NamedNodeMap createDelegatingNamedNodeMap(org.w3c.dom.NamedNodeMap baseMap)
Returns a NamedNodeMap which will dispense nodes in this document.- Parameters:
baseMap
- node map which dispenses nodes in the base document- Returns:
- equivalent of baseMap in this document
-
getImplementation
public org.w3c.dom.DOMImplementation getImplementation()
Returns the implementation of the base document.- Specified by:
getImplementation
in interfaceorg.w3c.dom.Document
-
getDoctype
public org.w3c.dom.DocumentType getDoctype()
- Specified by:
getDoctype
in interfaceorg.w3c.dom.Document
-
getDocumentElement
public org.w3c.dom.Element getDocumentElement()
- Specified by:
getDocumentElement
in interfaceorg.w3c.dom.Document
-
createElement
public org.w3c.dom.Element createElement(java.lang.String tagName)
- Specified by:
createElement
in interfaceorg.w3c.dom.Document
-
createDocumentFragment
public org.w3c.dom.DocumentFragment createDocumentFragment()
- Specified by:
createDocumentFragment
in interfaceorg.w3c.dom.Document
-
createTextNode
public org.w3c.dom.Text createTextNode(java.lang.String data)
- Specified by:
createTextNode
in interfaceorg.w3c.dom.Document
-
createComment
public org.w3c.dom.Comment createComment(java.lang.String data)
- Specified by:
createComment
in interfaceorg.w3c.dom.Document
-
createCDATASection
public org.w3c.dom.CDATASection createCDATASection(java.lang.String data)
- Specified by:
createCDATASection
in interfaceorg.w3c.dom.Document
-
createProcessingInstruction
public org.w3c.dom.ProcessingInstruction createProcessingInstruction(java.lang.String target, java.lang.String data)
- Specified by:
createProcessingInstruction
in interfaceorg.w3c.dom.Document
-
createAttribute
public org.w3c.dom.Attr createAttribute(java.lang.String name)
- Specified by:
createAttribute
in interfaceorg.w3c.dom.Document
-
createEntityReference
public org.w3c.dom.EntityReference createEntityReference(java.lang.String name)
- Specified by:
createEntityReference
in interfaceorg.w3c.dom.Document
-
getElementsByTagName
public org.w3c.dom.NodeList getElementsByTagName(java.lang.String tagname)
- Specified by:
getElementsByTagName
in interfaceorg.w3c.dom.Document
-
importNode
public org.w3c.dom.Node importNode(org.w3c.dom.Node importedNode, boolean deep)
- Specified by:
importNode
in interfaceorg.w3c.dom.Document
-
createElementNS
public org.w3c.dom.Element createElementNS(java.lang.String namespaceURI, java.lang.String qualifiedName)
- Specified by:
createElementNS
in interfaceorg.w3c.dom.Document
-
createAttributeNS
public org.w3c.dom.Attr createAttributeNS(java.lang.String namespaceURI, java.lang.String qualifiedName)
- Specified by:
createAttributeNS
in interfaceorg.w3c.dom.Document
-
getElementsByTagNameNS
public org.w3c.dom.NodeList getElementsByTagNameNS(java.lang.String namespaceURI, java.lang.String localName)
- Specified by:
getElementsByTagNameNS
in interfaceorg.w3c.dom.Document
-
getElementById
public org.w3c.dom.Element getElementById(java.lang.String elementId)
- Specified by:
getElementById
in interfaceorg.w3c.dom.Document
-
getInputEncoding
public java.lang.String getInputEncoding()
- Specified by:
getInputEncoding
in interfaceorg.w3c.dom.Document
-
getXmlEncoding
public java.lang.String getXmlEncoding()
- Specified by:
getXmlEncoding
in interfaceorg.w3c.dom.Document
-
getXmlStandalone
public boolean getXmlStandalone()
- Specified by:
getXmlStandalone
in interfaceorg.w3c.dom.Document
-
setXmlStandalone
public void setXmlStandalone(boolean xmlStandalone)
- Specified by:
setXmlStandalone
in interfaceorg.w3c.dom.Document
-
getXmlVersion
public java.lang.String getXmlVersion()
- Specified by:
getXmlVersion
in interfaceorg.w3c.dom.Document
-
setXmlVersion
public void setXmlVersion(java.lang.String xmlVersion)
- Specified by:
setXmlVersion
in interfaceorg.w3c.dom.Document
-
getStrictErrorChecking
public boolean getStrictErrorChecking()
- Specified by:
getStrictErrorChecking
in interfaceorg.w3c.dom.Document
-
setStrictErrorChecking
public void setStrictErrorChecking(boolean strictErrorChecking)
- Specified by:
setStrictErrorChecking
in interfaceorg.w3c.dom.Document
-
getDocumentURI
public java.lang.String getDocumentURI()
- Specified by:
getDocumentURI
in interfaceorg.w3c.dom.Document
-
setDocumentURI
public void setDocumentURI(java.lang.String documentURI)
- Specified by:
setDocumentURI
in interfaceorg.w3c.dom.Document
-
adoptNode
public org.w3c.dom.Node adoptNode(org.w3c.dom.Node source)
- Specified by:
adoptNode
in interfaceorg.w3c.dom.Document
-
getDomConfig
public org.w3c.dom.DOMConfiguration getDomConfig()
- Specified by:
getDomConfig
in interfaceorg.w3c.dom.Document
-
normalizeDocument
public void normalizeDocument()
- Specified by:
normalizeDocument
in interfaceorg.w3c.dom.Document
-
renameNode
public org.w3c.dom.Node renameNode(org.w3c.dom.Node node, java.lang.String namespaceURI, java.lang.String qualifiedName)
- Specified by:
renameNode
in interfaceorg.w3c.dom.Document
-
-