uk.ac.starlink.votable
Class VODocument

java.lang.Object
  extended byuk.ac.starlink.votable.dom.DelegatingNode
      extended byuk.ac.starlink.votable.dom.DelegatingDocument
          extended byuk.ac.starlink.votable.VODocument
All Implemented Interfaces:
Document, Node

public class VODocument
extends DelegatingDocument

Document implementation which holds a VOTable-specific DOM. The elements in it are all instances of VOElement, or of VOElement subclasses according to their element names, that is any element with a tagname of "TABLE" in this DOM will be an instance of the class TableElement and so on.

Since:
13 Sep 2004

Field Summary
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Constructor Summary
VODocument()
          Constructs a new VODocument.
VODocument(String systemId, boolean strict)
          Constructs a new VODocument with a specified System ID.
 
Method Summary
protected  DelegatingAttr createDelegatingAttr(Attr baseNode)
          Creates a new node in this document that delegates to an object of class Attr in the base model.
protected  DelegatingElement createDelegatingElement(Element node)
          Creates a new node in this document that delegates to an object of class Element in the base model.
 DelegatingNode getDelegator(Node base)
          Returns the node in this document which delegates to (is based on) a given node in the base document.
 Element getElementById(String elementId)
           
 StoragePolicy getStoragePolicy()
          Returns the storage policy used for storing bulk table data found as elements in the DOM into a usable form.
 String getSystemId()
          Returns the system ID associated with this document.
 String getVOTagName(Element el)
          Returns the unqualified tag name for an element in the VOTable namespace, taking care of namespacing issues.
 void setElementId(Element el, String id)
          Stores an element as the referent of a given ID string.
 void setStoragePolicy(StoragePolicy policy)
          Sets the storage policy used for storing bulk table data found as elements in the DOM into a usable form.
 
Methods inherited from class uk.ac.starlink.votable.dom.DelegatingDocument
createAttribute, createAttributeNS, createCDATASection, createComment, createDelegatingAttr, createDelegatingCDATASection, createDelegatingCharacterData, createDelegatingComment, createDelegatingDocumentFragment, createDelegatingDocumentType, createDelegatingEntity, createDelegatingEntityReference, createDelegatingNamedNodeMap, createDelegatingNodeList, createDelegatingNotation, createDelegatingProcessingInstruction, createDelegatingSimpleNode, createDelegatingText, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, getBaseDocument, getDoctype, getDocumentElement, getElementsByTagName, getElementsByTagNameNS, getImplementation, importNode
 
Methods inherited from class uk.ac.starlink.votable.dom.DelegatingNode
appendChild, cloneNode, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasAttributes, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix
 
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, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasAttributes, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix
 

Constructor Detail

VODocument

public VODocument(String systemId,
                  boolean strict)
Constructs a new VODocument with a specified System ID.

Parameters:
systemId - system ID for the VOTable document represented by this DOM (sometimes used for resolving URLs) - may be null
strict - whether to enforce the VOTable standard strictly or in some cases do what is probably meant (see VOElementFactory.setStrict(boolean))

VODocument

public VODocument()
Constructs a new VODocument. No system ID is registered, so that all URLs in the document will be considered as absolute ones. A default level of strictness is used.

Method Detail

getSystemId

public String getSystemId()
Returns the system ID associated with this document.

Returns:
system ID if there is one

getStoragePolicy

public StoragePolicy getStoragePolicy()
Returns the storage policy used for storing bulk table data found as elements in the DOM into a usable form.

Returns:
current policy

setStoragePolicy

public void setStoragePolicy(StoragePolicy policy)
Sets the storage policy used for storing bulk table data found as elements in the DOM into a usable form. The default value is StoragePolicy.PREFER_MEMORY.

Parameters:
policy - new policy

setElementId

public void setElementId(Element el,
                         String id)
Stores an element as the referent of a given ID string. This affects the return value of the DOM getElementById(java.lang.String) method.


getElementById

public Element getElementById(String elementId)
Specified by:
getElementById in interface Document
Overrides:
getElementById in class DelegatingDocument

getDelegator

public DelegatingNode getDelegator(Node base)
Description copied from class: DelegatingDocument
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.

Overrides:
getDelegator in class DelegatingDocument
Parameters:
base - node in the base document
Returns:
corresponding node in this document

createDelegatingElement

protected DelegatingElement createDelegatingElement(Element node)
Description copied from class: DelegatingDocument
Creates a new node in this document that delegates to an object of class Element in the base model. This may be overridden to create specialised node types.

Overrides:
createDelegatingElement in class DelegatingDocument
Parameters:
node - delegate node
Returns:
new node in this model based on baseNode

createDelegatingAttr

protected DelegatingAttr createDelegatingAttr(Attr baseNode)
Description copied from class: DelegatingDocument
Creates a new node in this document that delegates to an object of class Attr in the base model. This may be overridden to create specialised node types.

Overrides:
createDelegatingAttr in class DelegatingDocument
Parameters:
baseNode - delegate node
Returns:
new node in this model based on baseNode

getVOTagName

public String getVOTagName(Element el)
Returns the unqualified tag name for an element in the VOTable namespace, taking care of namespacing issues.

Parameters:
el - element
Returns:
unqualified VOTable tag name, e.g. "TABLE"

Copyright © 2004 CLRC: Central Laboratory of the Research Councils. All rights reserved.