java.lang.Object
org.eclipse.persistence.internal.core.sessions.CoreAbstractRecord
org.eclipse.persistence.internal.sessions.AbstractRecord
org.eclipse.persistence.oxm.record.XMLRecord
org.eclipse.persistence.oxm.record.DOMRecord
- All Implemented Interfaces:
Serializable
,Cloneable
,Map
,AbstractMarshalRecord<AbstractSession,
,DatabaseField, XMLMarshaller, NamespaceResolver> AbstractUnmarshalRecord<AbstractSession,
,DatabaseField, XMLUnmarshaller> TransformationRecord
,XMLRecord<AbstractSession>
,DataRecord
- Direct Known Subclasses:
EISDOMRecord
,XMLTransformationRecord
PUBLIC:
Provides a Record/Map API on an XML DOM element.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.persistence.internal.sessions.AbstractRecord
AbstractRecord.EntrySet, AbstractRecord.KeySet, AbstractRecord.NoEntry, AbstractRecord.RecordEntry, AbstractRecord.RecordEntryIterator, AbstractRecord.RecordKeyIterator, AbstractRecord.RecordValuesIterator, AbstractRecord.ValuesSet
Nested classes/interfaces inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord
XMLRecord.Nil
-
Field Summary
Fields inherited from class org.eclipse.persistence.oxm.record.XMLRecord
currentObject, equalNamespaceResolvers, hasCustomNamespaceMapper, NIL, session, unmarshaller
Fields inherited from class org.eclipse.persistence.internal.sessions.AbstractRecord
fields, lookupField, noEntry, nullValueInFields, size, sopObject, values
Fields inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord
DEFAULT_ATTRIBUTE_GROUP
-
Constructor Summary
ConstructorDescriptionINTERNAL: Default constructor.INTERNAL: Create a record with the root element name.INTERNAL: Create a record with the root element name get the namespace URI from the namespaceResolver.DOMRecord
(String rootElementName, NamespaceResolver namespaceResolver) INTERNAL: Create a record with the root element name get the namespace URI from the namespaceResolver.DOMRecord
(String localRootElementName, NamespaceResolver namespaceResolver, Node parent) INTERNAL: Create a record with the local root element name, that is a child of the parent.INTERNAL: Create a record with the local root element name, that is a child of the parent.INTERNAL: Create a record with the element.INTERNAL: Create a record with the element. -
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(DatabaseField key, Object value) INTERNAL: Add the field-value pair to the document.buildNestedRow
(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.clone()
INTERNAL: Clone the row and its values.boolean
PUBLIC: Check if the value is contained in the row.boolean
containsKey
(DatabaseField key) INTERNAL: Check if the field is contained in the row.createNewDocument
(String defaultRootElementName) INTERNAL: Creates a new Document and returns the root element of that documentcreateNewDocument
(String defaultRootElementName, String namespaceURI) INTERNAL: Creates a new Document and returns the root element of that documententrySet()
PUBLIC:get
(DatabaseField key) INTERNAL: Retrieve the value for the field.PUBLIC: Return the document.getDOM()
PUBLIC: Return the DOM.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.INTERNAL: Given a DatabaseField return the corresponding value from the documentgetIndicatingNoEntry
(DatabaseField key, boolean shouldReturnNode) getIndicatingNoEntry
(DatabaseField key, boolean shouldReturnNode, boolean checkForXsiNil) PUBLIC: Get the local name of the context root element.PUBLIC: Get the namespace URI for the context root element.INTERNAL: The ReferenceResolver that is leveraged by key based mappings.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.INTERNAL: Retrieve the value for the field name.getValues
(DatabaseField key) INTERNAL: Given a DatabaseField, return the corresponding values from the documentgetValues
(DatabaseField key, AbstractNullPolicy nullPolicy) getValuesIndicatingNoEntry
(List<DatabaseField> keys, boolean shouldReturnNodes) getValuesIndicatingNoEntry
(DatabaseField key, boolean shouldReturnNodes) INTERNAL: Given a DatabaseField, return the corresponding values from the documentgetValuesIndicatingNoEntry
(DatabaseField key, boolean shouldReturnNodes, AbstractNullPolicy nullPolicy) getValuesIndicatingNoEntry
(DatabaseField key, AbstractNullPolicy nullPolicy) keySet()
PUBLIC: Return the set of element names from the DOM.PUBLIC: Add the field-value pair to the row.put
(DatabaseField key, Object value) INTERNAL: Set the field value into the DOM.remove
(DatabaseField key) INTERNAL: Remove the field key from the row.void
INTERNAL: replaces the value at index with valueresolveNamespacePrefix
(String prefix) void
resolveReferences
(CoreAbstractSession abstractSession, IDResolver idResolver) INTERNAL: If the UnmarshalRecord has a ReferenceResolver, tell it to resolve its references.void
void
INTERNAL: Sets the dom and updated document to be the owner document of the given elementprotected void
INTERNAL: Setting fields vector will not update the document so this is not supportedvoid
setReferenceResolver
(ReferenceResolver referenceResolver) INTERNAL: Set the ReferenceResolver that will be leveraged by key based mappings.void
setSession
(AbstractSession session) protected void
INTERNAL: Setting values vector will not update the document so this is not supportedint
size()
Return the number of elements in the DOM.toString()
INTERNAL: Print the dom XML string.void
transformFromXML
(Reader reader) Set the XML from an XML reader.void
transformFromXML
(String xml) Set the XML from an XML string.void
transformToWriter
(Writer writer) Write the XML string representation of the DOM.Return the XML string representation of the DOM.values()
PUBLIC: Return the collection of element values from the DOM.Methods inherited from class org.eclipse.persistence.oxm.record.XMLRecord
addExtraNamespacesToNamespaceResolver, addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, attribute, attributeWithoutQName, convertToXMLField, convertToXMLField, get, getConversionManager, getCurrentObject, getDocPresPolicy, getIndicatingNoEntry, getLeafElementType, getMarshaller, getNamespaceResolver, getNamespaceSeparator, getOwningObject, getSession, getUnmarshaller, hasCustomNamespaceMapper, hasEqualNamespaceResolvers, isNamespaceAware, isXOPPackage, namespaceDeclaration, put, removeExtraNamespacesFromNamespaceResolver, setCurrentObject, setCustomNamespaceMapper, setDocPresPolicy, setEqualNamespaceResolvers, setLeafElementType, setLeafElementType, setMarshaller, setNamespaceResolver, setOwningObject, setUnmarshaller, setXOPPackage, writeXsiTypeAttribute, writeXsiTypeAttribute
Methods inherited from class org.eclipse.persistence.internal.sessions.AbstractRecord
containsKey, containsKey, containsValue, elements, get, getField, getLookupField, getSopObject, hasNullValueInFields, hasSopObject, isEmpty, keys, mergeFrom, putAll, remove, remove, replaceAt, resetSize, setNullValueInFields, setSopObject
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Constructor Details
-
DOMRecord
public DOMRecord()INTERNAL: Default constructor. -
DOMRecord
INTERNAL: Create a record with the root element name. -
DOMRecord
INTERNAL: Create a record with the root element name get the namespace URI from the namespaceResolver. -
DOMRecord
INTERNAL: Create a record with the root element name get the namespace URI from the namespaceResolver. -
DOMRecord
INTERNAL: Create a record with the local root element name, that is a child of the parent. -
DOMRecord
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
INTERNAL: Create a record with the element. -
DOMRecord
-
DOMRecord
INTERNAL: Create a record with the element.
-
-
Method Details
-
getLocalName
PUBLIC: Get the local name of the context root element.- Specified by:
getLocalName
in classXMLRecord
-
getNamespaceURI
PUBLIC: Get the namespace URI for the context root element.- Specified by:
getNamespaceURI
in classXMLRecord
-
getReferenceResolver
INTERNAL: The ReferenceResolver that is leveraged by key based mappings.- Since:
- EclipseLink 2.5.0
-
setReferenceResolver
INTERNAL: Set the ReferenceResolver that will be leveraged by key based mappings.- Since:
- EclipseLink 2.5.0
-
add
INTERNAL: Add the field-value pair to the document.- Overrides:
add
in classAbstractRecord
-
clear
public void clear()PUBLIC: Clear the sub-nodes of the DOM. -
clone
INTERNAL: Clone the row and its values.- Overrides:
clone
in classAbstractRecord
-
createNewDocument
INTERNAL: Creates a new Document and returns the root element of that document -
createNewDocument
INTERNAL: Creates a new Document and returns the root element of that document -
getDocument
PUBLIC: Return the document.- Specified by:
getDocument
in classXMLRecord
-
containsKey
INTERNAL: Check if the field is contained in the row.- Overrides:
containsKey
in classAbstractRecord
-
contains
PUBLIC: Check if the value is contained in the row. -
get
Description copied from class:XMLRecord
INTERNAL: Retrieve the value for the field. If missing null is returned.- Specified by:
get
in interfaceAbstractUnmarshalRecord<AbstractSession,
DatabaseField, XMLUnmarshaller> - Overrides:
get
in classXMLRecord
-
getIndicatingNoEntry
INTERNAL: Given a DatabaseField return the corresponding value from the document- Overrides:
getIndicatingNoEntry
in classAbstractRecord
-
getIndicatingNoEntry
-
getIndicatingNoEntry
public Object getIndicatingNoEntry(DatabaseField key, boolean shouldReturnNode, boolean checkForXsiNil) -
getValues
INTERNAL: Retrieve the value for the field name.- Overrides:
getValues
in classAbstractRecord
-
getValues
INTERNAL: Given a DatabaseField, return the corresponding values from the document- Overrides:
getValues
in classAbstractRecord
-
getValues
-
getValuesIndicatingNoEntry
-
getValuesIndicatingNoEntry
-
getValuesIndicatingNoEntry
-
getValuesIndicatingNoEntry
public List<XMLEntry> getValuesIndicatingNoEntry(List<DatabaseField> keys, boolean shouldReturnNodes) -
getValuesIndicatingNoEntry
INTERNAL: Given a DatabaseField, return the corresponding values from the document -
getValuesIndicatingNoEntry
public Object getValuesIndicatingNoEntry(DatabaseField key, boolean shouldReturnNodes, AbstractNullPolicy nullPolicy) -
buildNestedRow
INTERNAL: Build the nested record, this can be overwriten by subclasses to use their subclass instance. -
getDOM
PUBLIC: Return the DOM.- Specified by:
getDOM
in interfaceAbstractMarshalRecord<AbstractSession,
DatabaseField, XMLMarshaller, NamespaceResolver> - Specified by:
getDOM
in classXMLRecord
-
put
INTERNAL: Set the field value into the DOM. The field name must be a valid simple XPath expression.- Specified by:
put
in interfaceAbstractMarshalRecord<AbstractSession,
DatabaseField, XMLMarshaller, NamespaceResolver> - Overrides:
put
in classAbstractRecord
-
put
-
put
Description copied from class:AbstractRecord
PUBLIC: Add the field-value pair to the row.- Specified by:
put
in interfaceMap
- Specified by:
put
in interfaceTransformationRecord
- Overrides:
put
in classAbstractRecord
- Throws:
ValidationException
-
remove
INTERNAL: Remove the field key from the row.- Overrides:
remove
in classAbstractRecord
-
replaceAt
INTERNAL: replaces the value at index with value- Overrides:
replaceAt
in classAbstractRecord
-
entrySet
PUBLIC:- Specified by:
entrySet
in interfaceMap
- Overrides:
entrySet
in classAbstractRecord
-
setFields
INTERNAL: Setting fields vector will not update the document so this is not supported- Overrides:
setFields
in classAbstractRecord
- Throws:
XMLMarshalException
-
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 classAbstractRecord
-
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 classAbstractRecord
-
setValues
INTERNAL: Setting values vector will not update the document so this is not supported- Overrides:
setValues
in classAbstractRecord
- Throws:
XMLMarshalException
-
setDOM
INTERNAL: Sets the dom and updated document to be the owner document of the given element -
setDOM
-
toString
INTERNAL: Print the dom XML string.- Overrides:
toString
in classAbstractRecord
-
keySet
PUBLIC: Return the set of element names from the DOM.- Specified by:
keySet
in interfaceMap
- Overrides:
keySet
in classAbstractRecord
-
values
PUBLIC: Return the collection of element values from the DOM.- Specified by:
values
in interfaceMap
- Overrides:
values
in classAbstractRecord
-
size
public int size()Return the number of elements in the DOM.- Specified by:
size
in interfaceMap
- Overrides:
size
in classAbstractRecord
-
transformFromXML
Set the XML from an XML string. -
setSession
- Specified by:
setSession
in interfaceAbstractMarshalRecord<AbstractSession,
DatabaseField, XMLMarshaller, NamespaceResolver> - Overrides:
setSession
in classXMLRecord
-
transformFromXML
Set the XML from an XML reader. -
transformToXML
Return the XML string representation of the DOM.- Specified by:
transformToXML
in classXMLRecord
-
transformToWriter
Write the XML string representation of the DOM. -
resolveNamespacePrefix
- Specified by:
resolveNamespacePrefix
in interfaceAbstractMarshalRecord<AbstractSession,
DatabaseField, XMLMarshaller, NamespaceResolver> - Specified by:
resolveNamespacePrefix
in interfaceAbstractUnmarshalRecord<AbstractSession,
DatabaseField, XMLUnmarshaller> - Overrides:
resolveNamespacePrefix
in classXMLRecord
-
resolveReferences
INTERNAL: If the UnmarshalRecord has a ReferenceResolver, tell it to resolve its references.- Since:
- EclipseLink 2.5.0
-