EclipseLink1.0 - 20080707 API Reference

org.eclipse.persistence.oxm.record
Class DOMRecord

java.lang.Object
  extended by org.eclipse.persistence.internal.sessions.AbstractRecord
      extended by org.eclipse.persistence.oxm.record.XMLRecord
          extended by org.eclipse.persistence.oxm.record.DOMRecord
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map, Record
Direct Known Subclasses:
EISDOMRecord

public class DOMRecord
extends XMLRecord

PUBLIC: Provides a Record/Map API on an XML DOM element.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.persistence.internal.sessions.AbstractRecord
org.eclipse.persistence.internal.sessions.AbstractRecord.EntrySet, org.eclipse.persistence.internal.sessions.AbstractRecord.KeySet, org.eclipse.persistence.internal.sessions.AbstractRecord.NoEntry, org.eclipse.persistence.internal.sessions.AbstractRecord.RecordEntry, org.eclipse.persistence.internal.sessions.AbstractRecord.RecordEntryIterator, org.eclipse.persistence.internal.sessions.AbstractRecord.RecordKeyIterator, org.eclipse.persistence.internal.sessions.AbstractRecord.RecordValuesIterator, org.eclipse.persistence.internal.sessions.AbstractRecord.ValuesSet
 
Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry<K,V>
 
Field Summary
 
Fields inherited from class org.eclipse.persistence.oxm.record.XMLRecord
session
 
Fields inherited from class org.eclipse.persistence.internal.sessions.AbstractRecord
fields, lookupField, noEntry, size, values
 
Constructor Summary
DOMRecord()
          INTERNAL: Default constructor.
DOMRecord(org.w3c.dom.Document document)
          INTERNAL: Create a record with the element.
DOMRecord(org.w3c.dom.Element element)
          INTERNAL: Create a record with the element.
DOMRecord(org.w3c.dom.Node node)
           
DOMRecord(java.lang.String rootElementName)
          INTERNAL: Create a record with the root element name.
DOMRecord(java.lang.String rootElementName, NamespaceResolver namespaceResolver)
          INTERNAL: Create a record with the root element name get the namespace URI from the namespaceResolver.
DOMRecord(java.lang.String localRootElementName, NamespaceResolver namespaceResolver, org.w3c.dom.Node parent)
          INTERNAL: Create a record with the local root element name, that is a child of the parent.
DOMRecord(java.lang.String localRootElementName, org.w3c.dom.Node parent)
          INTERNAL: Create a record with the local root element name, that is a child of the parent.
DOMRecord(java.lang.String rootElementName, java.lang.String rootElementNamespaceURI)
          INTERNAL: Create a record with the root element name get the namespace URI from the namespaceResolver.
 
Method Summary
 void add(org.eclipse.persistence.internal.helper.DatabaseField key, java.lang.Object value)
          INTERNAL: Add the field-value pair to the document.
 XMLRecord buildNestedRow(org.w3c.dom.Element element)
          INTERNAL: Build the nested record, this can be overwriten by subclasses to use their subclass instance.
 void clear()
          PUBLIC: Clear the sub-nodes of the DOM.
 java.lang.Object clone()
          INTERNAL: Clone the row and its values.
 boolean contains(java.lang.Object value)
          PUBLIC: Check if the value is contained in the row.
 boolean containsKey(org.eclipse.persistence.internal.helper.DatabaseField key)
          INTERNAL: Check if the field is contained in the row.
 org.w3c.dom.Node createNewDocument(java.lang.String defaultRootElementName)
          INTERNAL: Creates a new Document and returns the root element of that document
 org.w3c.dom.Node createNewDocument(java.lang.String defaultRootElementName, java.lang.String namespaceURI)
          INTERNAL: Creates a new Document and returns the root element of that document
 java.util.Set entrySet()
          PUBLIC: todo: need to check attributes, should be prefix or nodename?
 java.lang.Object get(org.eclipse.persistence.internal.helper.DatabaseField key)
          INTERNAL: Retrieve the value for the field.
 org.w3c.dom.Document getDocument()
          PUBLIC: Return the document.
 org.w3c.dom.Node getDOM()
          PUBLIC: Return the DOM.
 java.util.Vector getFields()
          INTERNAL: This should not be used, but added some support for it as is called from some places such as sdk call used in the descriptor to define operation not supported, may also be called from toplin in some places.
 java.lang.Object getIndicatingNoEntry(org.eclipse.persistence.internal.helper.DatabaseField key)
          INTERNAL: Given a DatabaseField return the corresponding value from the document
 java.lang.Object getIndicatingNoEntry(org.eclipse.persistence.internal.helper.DatabaseField key, boolean shouldReturnNode)
           
 java.lang.String getLocalName()
          PUBLIC: Get the local name of the context root element.
 java.lang.String getNamespaceURI()
          PUBLIC: Get the namespace URI for the context root element.
 java.util.Vector getValues()
          INTERNAL: This should not be used, but added some support for it as is called from some places such as sdk call used in the descriptor to define operation not supported, may also be called from TopLink in some places.
 java.lang.Object getValues(org.eclipse.persistence.internal.helper.DatabaseField key)
          INTERNAL: Given a DatabaseField, return the corresponding values from the document
 java.lang.Object getValues(java.lang.String key)
          INTERNAL: Retrieve the value for the field name.
 java.lang.Object getValuesIndicatingNoEntry(org.eclipse.persistence.internal.helper.DatabaseField key)
           
 java.lang.Object getValuesIndicatingNoEntry(org.eclipse.persistence.internal.helper.DatabaseField key, boolean shouldReturnNodes)
          INTERNAL: Given a DatabaseField, return the corresponding values from the document
 java.util.Set keySet()
          PUBLIC: Return the set of element names from the DOM.
 java.lang.Object put(org.eclipse.persistence.internal.helper.DatabaseField key, java.lang.Object value)
          INTERNAL: Set the field value into the DOM.
 java.lang.Object remove(org.eclipse.persistence.internal.helper.DatabaseField key)
          INTERNAL: Remove the field key from the row.
 void replaceAt(java.lang.Object value, int index)
          INTERNAL: replaces the value at index with value
 java.lang.String resolveNamespacePrefix(java.lang.String prefix)
           
 void setDOM(org.w3c.dom.Element element)
           
 void setDOM(org.w3c.dom.Node element)
          INTERNAL: Sets the dom and updated document to be the owner document of the given element
protected  void setFields(java.util.Vector fields)
          INTERNAL: Setting fields vector will not update the document so this is not supported
protected  void setValues(java.util.Vector values)
          INTERNAL: Setting values vector will not update the document so this is not supported
 int size()
          Return the number of elements in the DOM.
 java.lang.String toString()
          INTERNAL: Print the dom XML string.
 void transformFromXML(java.io.Reader reader)
          Set the XML from an XML reader.
 void transformFromXML(java.lang.String xml)
          Set the XML from an XML string.
 void transformToWriter(java.io.Writer writer)
          Write the XML string representation of the DOM.
 java.lang.String transformToXML()
          Return the XML string representation of the DOM.
 java.util.Collection values()
          PUBLIC: Return the collection of element values from the DOM.
 
Methods inherited from class org.eclipse.persistence.oxm.record.XMLRecord
convertToXMLField, getCurrentObject, getDocPresPolicy, getIndicatingNoEntry, getLeafElementType, getMarshaller, getNamespaceResolver, getOwningObject, getSession, getUnmarshaller, setCurrentObject, setDocPresPolicy, setLeafElementType, setMarshaller, setNamespaceResolver, setOwningObject, setSession, setUnmarshaller
 
Methods inherited from class org.eclipse.persistence.internal.sessions.AbstractRecord
containsKey, containsKey, containsValue, elements, get, get, getField, isEmpty, keys, mergeFrom, put, put, putAll, remove, remove, resetSize
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Constructor Detail

DOMRecord

public DOMRecord()
INTERNAL: Default constructor.


DOMRecord

public DOMRecord(java.lang.String rootElementName)
INTERNAL: Create a record with the root element name.


DOMRecord

public DOMRecord(java.lang.String rootElementName,
                 NamespaceResolver namespaceResolver)
INTERNAL: Create a record with the root element name get the namespace URI from the namespaceResolver.


DOMRecord

public DOMRecord(java.lang.String rootElementName,
                 java.lang.String rootElementNamespaceURI)
INTERNAL: Create a record with the root element name get the namespace URI from the namespaceResolver.


DOMRecord

public DOMRecord(java.lang.String localRootElementName,
                 org.w3c.dom.Node parent)
INTERNAL: Create a record with the local root element name, that is a child of the parent.


DOMRecord

public DOMRecord(java.lang.String localRootElementName,
                 NamespaceResolver namespaceResolver,
                 org.w3c.dom.Node parent)
INTERNAL: Create a record with the local root element name, that is a child of the parent. Lookup the namespace URI from the namespaceResolver.


DOMRecord

public DOMRecord(org.w3c.dom.Element element)
INTERNAL: Create a record with the element.


DOMRecord

public DOMRecord(org.w3c.dom.Node node)

DOMRecord

public DOMRecord(org.w3c.dom.Document document)
INTERNAL: Create a record with the element.

Method Detail

getLocalName

public java.lang.String getLocalName()
PUBLIC: Get the local name of the context root element.

Specified by:
getLocalName in class XMLRecord

getNamespaceURI

public java.lang.String getNamespaceURI()
PUBLIC: Get the namespace URI for the context root element.

Specified by:
getNamespaceURI in class XMLRecord

add

public void add(org.eclipse.persistence.internal.helper.DatabaseField key,
                java.lang.Object value)
INTERNAL: Add the field-value pair to the document.

Overrides:
add in class org.eclipse.persistence.internal.sessions.AbstractRecord

clear

public void clear()
PUBLIC: Clear the sub-nodes of the DOM.

Specified by:
clear in interface java.util.Map
Specified by:
clear in class XMLRecord

clone

public java.lang.Object clone()
INTERNAL: Clone the row and its values.

Overrides:
clone in class org.eclipse.persistence.internal.sessions.AbstractRecord

createNewDocument

public org.w3c.dom.Node createNewDocument(java.lang.String defaultRootElementName)
INTERNAL: Creates a new Document and returns the root element of that document


createNewDocument

public org.w3c.dom.Node createNewDocument(java.lang.String defaultRootElementName,
                                          java.lang.String namespaceURI)
INTERNAL: Creates a new Document and returns the root element of that document


getDocument

public org.w3c.dom.Document getDocument()
PUBLIC: Return the document.

Specified by:
getDocument in class XMLRecord

containsKey

public boolean containsKey(org.eclipse.persistence.internal.helper.DatabaseField key)
INTERNAL: Check if the field is contained in the row.

Overrides:
containsKey in class org.eclipse.persistence.internal.sessions.AbstractRecord

contains

public boolean contains(java.lang.Object value)
PUBLIC: Check if the value is contained in the row.

Overrides:
contains in class XMLRecord

get

public java.lang.Object get(org.eclipse.persistence.internal.helper.DatabaseField key)
Description copied from class: XMLRecord
INTERNAL: Retrieve the value for the field. If missing null is returned.

Overrides:
get in class XMLRecord

getIndicatingNoEntry

public java.lang.Object getIndicatingNoEntry(org.eclipse.persistence.internal.helper.DatabaseField key)
INTERNAL: Given a DatabaseField return the corresponding value from the document

Overrides:
getIndicatingNoEntry in class org.eclipse.persistence.internal.sessions.AbstractRecord

getIndicatingNoEntry

public java.lang.Object getIndicatingNoEntry(org.eclipse.persistence.internal.helper.DatabaseField key,
                                             boolean shouldReturnNode)

getValues

public java.lang.Object getValues(java.lang.String key)
INTERNAL: Retrieve the value for the field name.

Overrides:
getValues in class org.eclipse.persistence.internal.sessions.AbstractRecord

getValues

public java.lang.Object getValues(org.eclipse.persistence.internal.helper.DatabaseField key)
INTERNAL: Given a DatabaseField, return the corresponding values from the document

Overrides:
getValues in class org.eclipse.persistence.internal.sessions.AbstractRecord

getValuesIndicatingNoEntry

public java.lang.Object getValuesIndicatingNoEntry(org.eclipse.persistence.internal.helper.DatabaseField key)

getValuesIndicatingNoEntry

public java.lang.Object getValuesIndicatingNoEntry(org.eclipse.persistence.internal.helper.DatabaseField key,
                                                   boolean shouldReturnNodes)
INTERNAL: Given a DatabaseField, return the corresponding values from the document


buildNestedRow

public XMLRecord buildNestedRow(org.w3c.dom.Element element)
INTERNAL: Build the nested record, this can be overwriten by subclasses to use their subclass instance.


getDOM

public org.w3c.dom.Node getDOM()
PUBLIC: Return the DOM.

Specified by:
getDOM in class XMLRecord

put

public java.lang.Object put(org.eclipse.persistence.internal.helper.DatabaseField key,
                            java.lang.Object value)
INTERNAL: Set the field value into the DOM. The field name must be a valid simple XPath expression.

Overrides:
put in class org.eclipse.persistence.internal.sessions.AbstractRecord

remove

public java.lang.Object remove(org.eclipse.persistence.internal.helper.DatabaseField key)
INTERNAL: Remove the field key from the row.

Overrides:
remove in class org.eclipse.persistence.internal.sessions.AbstractRecord

replaceAt

public void replaceAt(java.lang.Object value,
                      int index)
INTERNAL: replaces the value at index with value

Overrides:
replaceAt in class org.eclipse.persistence.internal.sessions.AbstractRecord

entrySet

public java.util.Set entrySet()
PUBLIC: todo: need to check attributes, should be prefix or nodename? / innerclass

Specified by:
entrySet in interface java.util.Map
Overrides:
entrySet in class org.eclipse.persistence.internal.sessions.AbstractRecord

setFields

protected void setFields(java.util.Vector fields)
                  throws XMLMarshalException
INTERNAL: Setting fields vector will not update the document so this is not supported

Overrides:
setFields in class org.eclipse.persistence.internal.sessions.AbstractRecord
Throws:
XMLMarshalException

getFields

public java.util.Vector getFields()
INTERNAL: This should not be used, but added some support for it as is called from some places such as sdk call used in the descriptor to define operation not supported, may also be called from toplin in some places.

Overrides:
getFields in class org.eclipse.persistence.internal.sessions.AbstractRecord

getValues

public java.util.Vector getValues()
INTERNAL: This should not be used, but added some support for it as is called from some places such as sdk call used in the descriptor to define operation not supported, may also be called from TopLink in some places.

Overrides:
getValues in class org.eclipse.persistence.internal.sessions.AbstractRecord

setValues

protected void setValues(java.util.Vector values)
                  throws XMLMarshalException
INTERNAL: Setting values vector will not update the document so this is not supported

Overrides:
setValues in class org.eclipse.persistence.internal.sessions.AbstractRecord
Throws:
XMLMarshalException

setDOM

public void setDOM(org.w3c.dom.Node element)
INTERNAL: Sets the dom and updated document to be the owner document of the given element


setDOM

public void setDOM(org.w3c.dom.Element element)

toString

public java.lang.String toString()
INTERNAL: Print the dom XML string.

Overrides:
toString in class org.eclipse.persistence.internal.sessions.AbstractRecord

keySet

public java.util.Set keySet()
PUBLIC: Return the set of element names from the DOM. todo: need to check attributes, should be prefix or nodename? / innerclass

Specified by:
keySet in interface java.util.Map
Overrides:
keySet in class org.eclipse.persistence.internal.sessions.AbstractRecord

values

public java.util.Collection values()
PUBLIC: Return the collection of element values from the DOM. todo: needs to do gets with the keys to have correct values, need to check attributes / innerclass

Specified by:
values in interface java.util.Map
Overrides:
values in class org.eclipse.persistence.internal.sessions.AbstractRecord

size

public int size()
Return the number of elements in the DOM.

Specified by:
size in interface java.util.Map
Overrides:
size in class org.eclipse.persistence.internal.sessions.AbstractRecord

transformFromXML

public void transformFromXML(java.lang.String xml)
Set the XML from an XML string.


transformFromXML

public void transformFromXML(java.io.Reader reader)
Set the XML from an XML reader.


transformToXML

public java.lang.String transformToXML()
Return the XML string representation of the DOM.

Specified by:
transformToXML in class XMLRecord

transformToWriter

public void transformToWriter(java.io.Writer writer)
Write the XML string representation of the DOM.


resolveNamespacePrefix

public java.lang.String resolveNamespacePrefix(java.lang.String prefix)
Overrides:
resolveNamespacePrefix in class XMLRecord

EclipseLink1.0 - 20080707 API Reference