Package uk.ac.starlink.votable.dom
Class DelegatingDocument
java.lang.Object
uk.ac.starlink.votable.dom.DelegatingNode
uk.ac.starlink.votable.dom.DelegatingDocument
- Direct Known Subclasses:
VODocument
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
ConstructorsConstructorDescriptionDelegatingDocument
(String documentURI) Constructs a new empty document based on a new empty document got from the default DOM implementation.DelegatingDocument
(Document base, String documentURI) Constructs a new document which delegates its behaviour to a Document from another DOM. -
Method Summary
Modifier and TypeMethodDescriptioncreateAttribute
(String name) createAttributeNS
(String namespaceURI, String qualifiedName) createCDATASection
(String data) createComment
(String data) protected DelegatingAttr
createDelegatingAttr
(Attr baseNode) Creates a new node in this document that delegates to an object of classAttr
in the base model.protected DelegatingAttr
createDelegatingAttr
(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
(CDATASection baseNode) Creates a new node in this document that delegates to an object of classCDATASection
in the base model.protected DelegatingCharacterData
createDelegatingCharacterData
(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
(Comment baseNode) Creates a new node in this document that delegates to an object of classComment
in the base model.protected DelegatingDocumentFragment
Creates a new node in this document that delegates to an object of classDocumentFragment
in the base model.protected DelegatingDocumentType
createDelegatingDocumentType
(DocumentType baseNode) Creates a new node in this document that delegates to an object of classDocumentType
in the base model.protected DelegatingElement
createDelegatingElement
(Element baseNode) Creates a new node in this document that delegates to an object of classElement
in the base model.protected DelegatingEntity
createDelegatingEntity
(Entity baseNode) Creates a new node in this document that delegates to an object of classEntity
in the base model.protected DelegatingEntityReference
Creates a new node in this document that delegates to an object of classEntityReference
in the base model.protected NamedNodeMap
createDelegatingNamedNodeMap
(NamedNodeMap baseMap) Returns a NamedNodeMap which will dispense nodes in this document.protected NodeList
createDelegatingNodeList
(NodeList baseList) Returns a NodeList which will dispense nodes in this document.protected DelegatingNotation
createDelegatingNotation
(Notation baseNode) Creates a new node in this document that delegates to an object of classNotation
in the base model.protected DelegatingProcessingInstruction
Creates a new node in this document that delegates to an object of classProcessingInstruction
in the base model.protected DelegatingNode
createDelegatingSimpleNode
(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
(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.createElement
(String tagName) createElementNS
(String namespaceURI, String qualifiedName) createEntityReference
(String name) createProcessingInstruction
(String target, String data) createTextNode
(String data) protected Document
Returns the base document (the one to which this delegates).protected DelegatingNode
getDelegator
(Node baseNode) Returns the node in this document which delegates to (is based on) a given node in the base document.getElementById
(String elementId) getElementsByTagName
(String tagname) getElementsByTagNameNS
(String namespaceURI, String localName) Returns the implementation of the base document.boolean
boolean
importNode
(Node importedNode, boolean deep) void
renameNode
(Node node, String namespaceURI, String qualifiedName) void
setDocumentURI
(String documentURI) void
setStrictErrorChecking
(boolean strictErrorChecking) void
setXmlStandalone
(boolean xmlStandalone) void
setXmlVersion
(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 Details
-
DelegatingDocument
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
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 Details
-
getDelegator
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
Returns the base document (the one to which this delegates).- Returns:
- base document
-
createDelegatingSimpleNode
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
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
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
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
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
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
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
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
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
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
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
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(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
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
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
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
Returns the implementation of the base document.- Specified by:
getImplementation
in interfaceDocument
-
getDoctype
- Specified by:
getDoctype
in interfaceDocument
-
getDocumentElement
- Specified by:
getDocumentElement
in interfaceDocument
-
createElement
- Specified by:
createElement
in interfaceDocument
-
createDocumentFragment
- Specified by:
createDocumentFragment
in interfaceDocument
-
createTextNode
- Specified by:
createTextNode
in interfaceDocument
-
createComment
- Specified by:
createComment
in interfaceDocument
-
createCDATASection
- Specified by:
createCDATASection
in interfaceDocument
-
createProcessingInstruction
- Specified by:
createProcessingInstruction
in interfaceDocument
-
createAttribute
- Specified by:
createAttribute
in interfaceDocument
-
createEntityReference
- Specified by:
createEntityReference
in interfaceDocument
-
getElementsByTagName
- Specified by:
getElementsByTagName
in interfaceDocument
-
importNode
- Specified by:
importNode
in interfaceDocument
-
createElementNS
- Specified by:
createElementNS
in interfaceDocument
-
createAttributeNS
- Specified by:
createAttributeNS
in interfaceDocument
-
getElementsByTagNameNS
- Specified by:
getElementsByTagNameNS
in interfaceDocument
-
getElementById
- Specified by:
getElementById
in interfaceDocument
-
getInputEncoding
- Specified by:
getInputEncoding
in interfaceDocument
-
getXmlEncoding
- Specified by:
getXmlEncoding
in interfaceDocument
-
getXmlStandalone
public boolean getXmlStandalone()- Specified by:
getXmlStandalone
in interfaceDocument
-
setXmlStandalone
public void setXmlStandalone(boolean xmlStandalone) - Specified by:
setXmlStandalone
in interfaceDocument
-
getXmlVersion
- Specified by:
getXmlVersion
in interfaceDocument
-
setXmlVersion
- Specified by:
setXmlVersion
in interfaceDocument
-
getStrictErrorChecking
public boolean getStrictErrorChecking()- Specified by:
getStrictErrorChecking
in interfaceDocument
-
setStrictErrorChecking
public void setStrictErrorChecking(boolean strictErrorChecking) - Specified by:
setStrictErrorChecking
in interfaceDocument
-
getDocumentURI
- Specified by:
getDocumentURI
in interfaceDocument
-
setDocumentURI
- Specified by:
setDocumentURI
in interfaceDocument
-
adoptNode
-
getDomConfig
- Specified by:
getDomConfig
in interfaceDocument
-
normalizeDocument
public void normalizeDocument()- Specified by:
normalizeDocument
in interfaceDocument
-
renameNode
- Specified by:
renameNode
in interfaceDocument
-