Top Description Fields Constructors Methods
org.eclipse.persistence.oxm.mappings

public Class XMLCompositeObjectMapping

extends AbstractCompositeObjectMapping
implements XMLMapping, CompositeObjectMapping<AbstractSession, AttributeAccessor, ContainerPolicy, Converter, ClassDescriptor, DatabaseField, XMLMarshaller, Session, UnmarshalKeepAsElementPolicy, XMLUnmarshaller, XMLRecord>, XMLNillableMapping
Class Inheritance
All Implemented Interfaces
org.eclipse.persistence.oxm.mappings.XMLNillableMapping, org.eclipse.persistence.internal.oxm.mappings.CompositeObjectMapping, org.eclipse.persistence.internal.oxm.mappings.XMLConverterMapping, org.eclipse.persistence.internal.oxm.mappings.Mapping, org.eclipse.persistence.oxm.mappings.XMLMapping
Known Direct Subclasses
org.eclipse.persistence.oxm.mappings.XMLVariableXPathObjectMapping
Imports
java.lang.reflect.Modifier, javax.xml.namespace.QName, org.eclipse.persistence.descriptors.ClassDescriptor, org.eclipse.persistence.exceptions.DatabaseException, .DescriptorException, .XMLMarshalException, org.eclipse.persistence.internal.descriptors.ObjectBuilder, org.eclipse.persistence.internal.helper.DatabaseField, org.eclipse.persistence.internal.identitymaps.CacheKey, org.eclipse.persistence.internal.oxm.ConversionManager, .XMLObjectBuilder, .XPathEngine, .XPathFragment, .XPathQName, org.eclipse.persistence.internal.oxm.mappings.CompositeObjectMapping, org.eclipse.persistence.internal.queries.ContainerPolicy, .JoinedAttributeManager, org.eclipse.persistence.internal.sessions.AbstractRecord, .AbstractSession, org.eclipse.persistence.mappings.AttributeAccessor, org.eclipse.persistence.mappings.converters.Converter, org.eclipse.persistence.mappings.foundation.AbstractCompositeObjectMapping, org.eclipse.persistence.oxm.XMLConstants, .XMLContext, .XMLDescriptor, .XMLField, .XMLMarshaller, .XMLUnmarshaller, org.eclipse.persistence.oxm.mappings.converters.XMLConverter, org.eclipse.persistence.oxm.mappings.nullpolicy.AbstractNullPolicy, .NullPolicy, org.eclipse.persistence.oxm.record.DOMRecord, .XMLRecord, org.eclipse.persistence.platform.xml.XMLPlatformFactory, org.eclipse.persistence.queries.ObjectBuildingQuery, org.eclipse.persistence.sessions.Session, org.w3c.dom.Element, .Node, .NodeList

Composite object XML mappings represent a relationship between two classes. In XML, the "owned" class may be nested with the element tag representing the "owning" class. This mapping is, by definition, privately owned.

Composite object XML mappings can be used in the following scenarios:

Setting the XPath: TopLink XML mappings make use of XPath statements to find the relevant data in an XML document. The XPath statement is relative to the context node specified in the descriptor. The XPath may contain path and positional information; the last node in the XPath forms the local root node for the composite object. The XPath is specified on the mapping using the setXPath method.

The following XPath statements may be used to specify the location of XML data relating to an object's name attribute:

XPath statements
XPath Description
. Indicates "self".
phone-number The phone-number information is stored in the phone-number element.
contact-info/phone-number The XPath statement may be used to specify any valid path.
phone-number[2] The XPath statement may contain positional information. In this case the phone-number information is stored in the second occurrence of the phone-number element.

Mapping into the Parent Record: The composite object may be mapped into the parent record in a corresponding XML document.

XML Schema
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="customer" type="customer-type"/>
  <xsd:complexType name="customer-type">
    <xsd:sequence>
      <xsd:element name="first-name" type="xsd:string"/>
      <xsd:element name="last-name" type="xsd:string"/>
      <xsd:element name="street" type="xsd:string"/>
      <xsd:element name="city" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

Code Sample
XMLCompositeObjectMapping addressMapping = new XMLCompositeObjectMapping();
addressMapping.setAttributeName("address");
addressMapping.setXPath(".");
addressMapping.setReferenceClass(Address.class);

Mapping to an Element: The composite object may be mapped to an element in a corresponding XML document.

XML Schema
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="customer" type="customer-type"/>
  <xsd:complexType name="customer-type">
    <xsd:sequence>
      <xsd:element name="first-name" type="xsd:string"/>
      <xsd:element name="last-name" type="xsd:string"/>
      <xsd:element name="address">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="street" type="xsd:string"/>
            <xsd:element name="city" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

Code Sample
XMLCompositeObjectMapping addressMapping = new XMLCompositeObjectMapping();
addressMapping.setAttributeName("address");
addressMapping.setXPath("address");
addressMapping.setReferenceClass(Address.class);

More Information: For more information about using the XML Composite Object Mapping, see the "Understanding XML Mappings" chapter of the Oracle TopLink Developer's Guide.

Since
Oracle TopLink 10g Release 2 (10.1.3)

Field Summary

Modifier and TypeField and Description
private XMLInverseReferenceMapping
private boolean
private UnmarshalKeepAsElementPolicy
pack-priv AbstractNullPolicy
Inherited from org.eclipse.persistence.mappings.foundation.AbstractCompositeObjectMapping:
converterfield

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected Object
protected Object
protected AbstractRecord
public void
public void
public Object
public Object
private Object
convertToSimpleTypeIfPresent(Object toReturn, XMLRecord nestedRow, AbstractSession executionSession)

public AttributeAccessor
getContainerAccessor()

Deprecated Replaced by getInverseReferenceMapping().getAttributeAccessor()
Gets the AttributeAccessor that is used to get and set the value of the container on the target object.
public String
getContainerAttributeName()

Deprecated Replaced by getInverseReferenceMapping().getAttributeName()
Gets the name of the backpointer attribute on the target object.
public String
getContainerGetMethodName()

Deprecated Replaced by getInverseReferenceMapping().getGetMethodName()
Gets the name of the method to be used when accessing the value of the back pointer on the target object of this mapping.
public String
getContainerSetMethodName()

Deprecated Replaced by getInverseReferenceMapping().getSetMethodName()
Gets the name of the method to be used when setting the value of the back pointer on the target object of this mapping.
protected XMLDescriptor
getDescriptor(XMLRecord xmlRecord, AbstractSession session, QName rootQName)

public XMLInverseReferenceMapping
public UnmarshalKeepAsElementPolicy
public AbstractNullPolicy
public ClassDescriptor
protected ClassDescriptor
public String

Returns:

String the XPath String associated with this Mapping
getXPath
()

Get the XPath String

public void
initialize(AbstractSession session)

Overrides org.eclipse.persistence.mappings.foundation.AbstractCompositeObjectMapping.initialize.

INTERNAL: The mapping is initialized with the given session.
protected void
public boolean
isWriteOnly()

Overrides org.eclipse.persistence.mappings.DatabaseMapping.isWriteOnly.

Implements org.eclipse.persistence.oxm.mappings.XMLMapping.isWriteOnly.

INTERNAL: Some mappings support no attribute (transformation and multitenant primary key).
public boolean
public void
preInitialize(AbstractSession session)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.preInitialize.

INTERNAL: Allow for initialization of properties and validation.
public Object
readFromRowIntoObject(AbstractRecord databaseRow, JoinedAttributeManager joinManager, Object targetObject, CacheKey parentCacheKey, ObjectBuildingQuery sourceQuery, AbstractSession executionSession, boolean isTargetProtected)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.readFromRowIntoObject.

INTERNAL: Extract value from the row and set the attribute to this value in the object.
public void
public void
setContainerAccessor(AttributeAccessor
- the accessor to be used.
anAttributeAccessor
)

Deprecated Replaced by getInverseReferenceMapping().setAttributeAccessor()
Sets the AttributeAccessor that is used to get and set the value of the container on the target object.
public void
setContainerAttributeName(String
- the name of the backpointer attribute to be populated
attributeName
)

Deprecated Replaced by getInverseReferenceMapping().setAttributeName()
Sets the name of the backpointer attribute on the target object.
public void
setContainerGetMethodName(String
- the getter method to be used.
methodName
)

Deprecated Replaced by getInverseReferenceMapping().setGetMethodName()
Sets the method name to be used when accessing the value of the back pointer on the target object of this mapping.
public void
setContainerSetMethodName(String
- the setter method to be used.
methodName
)

Deprecated Replaced by getInverseReferenceMapping().setSetMethodName()
Sets the name of the method to be used when setting the value of the back pointer on the target object of this mapping.
pack-priv void
public void
public void
public void
public void
setXPath(String
String
xpathString
)

Implements org.eclipse.persistence.internal.oxm.mappings.CompositeObjectMapping.setXPath.

Set the Mapping field name attribute to the given XPath String
public Object
valueFromRow(Object fieldValue, XMLRecord nestedRow, JoinedAttributeManager joinManager, ObjectBuildingQuery sourceQuery, AbstractSession executionSession, boolean isTargetProtected)

public Object
valueFromRow(AbstractRecord row, JoinedAttributeManager joinManager, ObjectBuildingQuery sourceQuery, CacheKey cacheKey, AbstractSession executionSession, boolean isTargetProtected, Boolean[] wasCacheUsed)

Overrides org.eclipse.persistence.mappings.foundation.AbstractCompositeObjectMapping.valueFromRow.

INTERNAL: Extract and return the aggregate object from the specified row.
public void
public void
writeSingleValue(Object
- The value to be marshalled
value
,
Object parent, XMLRecord
- The Record the value is being marshalled too.
record
,
AbstractSession session)

Implements org.eclipse.persistence.oxm.mappings.XMLMapping.writeSingleValue, org.eclipse.persistence.internal.oxm.mappings.Mapping.writeSingleValue.

INTERNAL: A method that marshals a single value to the provided Record based on this mapping's XPath.
Inherited from org.eclipse.persistence.mappings.foundation.AbstractCompositeObjectMapping:
buildExpressionbuildShallowOriginalFromRowcascadeDiscoverAndPersistUnregisteredNewObjectscascadePerformRemoveIfRequiredcascadeRegisterNewIfRequiredcollectFieldsgetConvertergetFieldhasConverterisAbstractCompositeObjectMappingsetConvertersetFieldvalueFromObjectwriteFromObjectIntoRowForUpdatewriteFromObjectIntoRowWithChangeRecordwriteInsertFieldsIntoRow

Field Detail

inverseReferenceMappingback to summary
private XMLInverseReferenceMapping inverseReferenceMapping
isWriteOnlyback to summary
private boolean isWriteOnly
keepAsElementPolicyback to summary
private UnmarshalKeepAsElementPolicy keepAsElementPolicy
nullPolicyback to summary
pack-priv AbstractNullPolicy nullPolicy

Constructor Detail

XMLCompositeObjectMappingback to summary
public XMLCompositeObjectMapping()

Method Detail

buildCompositeObjectback to summary
protected Object buildCompositeObject(ObjectBuilder objectBuilder, AbstractRecord nestedRow, ObjectBuildingQuery query, CacheKey parentCacheKey, JoinedAttributeManager joinManager, AbstractSession targetSession)

Implements abstract org.eclipse.persistence.mappings.foundation.AbstractCompositeObjectMapping.buildCompositeObject.

Annotations
@Override
buildCompositeRowback to summary
protected Object buildCompositeRow(Object attributeValue, AbstractSession session, AbstractRecord databaseRow, DatabaseMapping.WriteType writeType)

Implements abstract org.eclipse.persistence.mappings.foundation.AbstractCompositeObjectMapping.buildCompositeRow.

Annotations
@Override
buildCompositeRowForDescriptorback to summary
protected AbstractRecord buildCompositeRowForDescriptor(ClassDescriptor classDesc, Object attributeValue, AbstractSession session, XMLRecord parentRow, DatabaseMapping.WriteType writeType)
configureNestedRowback to summary
public void configureNestedRow(AbstractRecord parent, AbstractRecord child)
convertClassNamesToClassesback to summary
public void convertClassNamesToClasses(ClassLoader classLoader)

Overrides org.eclipse.persistence.mappings.AggregateMapping.convertClassNamesToClasses.

Implements org.eclipse.persistence.oxm.mappings.XMLMapping.convertClassNamesToClasses, org.eclipse.persistence.internal.oxm.mappings.Mapping.convertClassNamesToClasses.

Doc from org.eclipse.persistence.mappings.AggregateMapping.convertClassNamesToClasses.

INTERNAL: Convert all the class-name-based settings in this mapping to actual class-based settings. This method is used when converting a project that has been built with class names to a project with classes.

Parameters
classLoader:ClassLoader

Doc from org.eclipse.persistence.mappings.DatabaseMapping.convertClassNamesToClasses.

TODO

Annotations
@Override
convertDataValueToObjectValueback to summary
public Object convertDataValueToObjectValue(Object fieldValue, Session session, XMLUnmarshaller unmarshaller)

Implements org.eclipse.persistence.internal.oxm.mappings.XMLConverterMapping.convertDataValueToObjectValue.

INTERNAL

Annotations
@Override
Since
EclipseLink 2.5.0
convertObjectValueToDataValueback to summary
public Object convertObjectValueToDataValue(Object value, Session session, XMLMarshaller marshaller)

Implements org.eclipse.persistence.internal.oxm.mappings.XMLConverterMapping.convertObjectValueToDataValue.

INTERNAL

Annotations
@Override
Since
EclipseLink 2.5.0
convertToSimpleTypeIfPresentback to summary
private Object convertToSimpleTypeIfPresent(Object toReturn, XMLRecord nestedRow, AbstractSession executionSession)
getContainerAccessorback to summary
public AttributeAccessor getContainerAccessor()

Deprecated

Replaced by getInverseReferenceMapping().getAttributeAccessor()

Gets the AttributeAccessor that is used to get and set the value of the container on the target object.

Annotations
@Deprecated
getContainerAttributeNameback to summary
public String getContainerAttributeName()

Deprecated

Replaced by getInverseReferenceMapping().getAttributeName()

Gets the name of the backpointer attribute on the target object. Used to populate the backpointer.

Annotations
@Deprecated
getContainerGetMethodNameback to summary
public String getContainerGetMethodName()

Deprecated

Replaced by getInverseReferenceMapping().getGetMethodName()

Gets the name of the method to be used when accessing the value of the back pointer on the target object of this mapping.

Annotations
@Deprecated
getContainerSetMethodNameback to summary
public String getContainerSetMethodName()

Deprecated

Replaced by getInverseReferenceMapping().getSetMethodName()

Gets the name of the method to be used when setting the value of the back pointer on the target object of this mapping.

Annotations
@Deprecated
getDescriptorback to summary
protected XMLDescriptor getDescriptor(XMLRecord xmlRecord, AbstractSession session, QName rootQName) throws XMLMarshalException
getInverseReferenceMappingback to summary
public XMLInverseReferenceMapping getInverseReferenceMapping()

Implements org.eclipse.persistence.internal.oxm.mappings.CompositeObjectMapping.getInverseReferenceMapping.

Annotations
@Override
getKeepAsElementPolicyback to summary
public UnmarshalKeepAsElementPolicy getKeepAsElementPolicy()

Implements org.eclipse.persistence.internal.oxm.mappings.CompositeObjectMapping.getKeepAsElementPolicy.

Annotations
@Override
getNullPolicyback to summary
public AbstractNullPolicy getNullPolicy()

Implements org.eclipse.persistence.internal.oxm.mappings.CompositeObjectMapping.getNullPolicy, org.eclipse.persistence.oxm.mappings.XMLNillableMapping.getNullPolicy.

INTERNAL: Get the AbstractNullPolicy from the Mapping.
The default policy is NullPolicy.

Annotations
@Override
getReferenceDescriptorback to summary
public ClassDescriptor getReferenceDescriptor(DOMRecord xmlRecord)
getReferenceDescriptorback to summary
protected ClassDescriptor getReferenceDescriptor(Class<?> theClass, AbstractSession session)

Overrides org.eclipse.persistence.mappings.AggregateMapping.getReferenceDescriptor.

Doc from org.eclipse.persistence.mappings.AggregateMapping.getReferenceDescriptor.

INTERNAL: For inheritance purposes.

Annotations
@Override
getXPathback to summary
public String getXPath()

Get the XPath String

Returns:String

String the XPath String associated with this Mapping

initializeback to summary
public void initialize(AbstractSession session) throws DescriptorException

Overrides org.eclipse.persistence.mappings.foundation.AbstractCompositeObjectMapping.initialize.

INTERNAL: The mapping is initialized with the given session. This mapping is fully initialized after this.

Annotations
@Override
initializeReferenceDescriptorAndFieldback to summary
protected void initializeReferenceDescriptorAndField(AbstractSession session)
isWriteOnlyback to summary
public boolean isWriteOnly()

Overrides org.eclipse.persistence.mappings.DatabaseMapping.isWriteOnly.

Implements org.eclipse.persistence.oxm.mappings.XMLMapping.isWriteOnly.

Doc from org.eclipse.persistence.mappings.DatabaseMapping.isWriteOnly.

INTERNAL: Some mappings support no attribute (transformation and multitenant primary key).

Returns:boolean

Doc from org.eclipse.persistence.core.mappings.CoreMapping.isWriteOnly.

TODO

Annotations
@Override
isXMLMappingback to summary
public boolean isXMLMapping()

Overrides org.eclipse.persistence.mappings.DatabaseMapping.isXMLMapping.

INTERNAL:

Annotations
@Override
preInitializeback to summary
public void preInitialize(AbstractSession session) throws DescriptorException

Overrides org.eclipse.persistence.mappings.DatabaseMapping.preInitialize.

Doc from org.eclipse.persistence.mappings.DatabaseMapping.preInitialize.

INTERNAL: Allow for initialization of properties and validation.

Annotations
@Override
readFromRowIntoObjectback to summary
public Object readFromRowIntoObject(AbstractRecord databaseRow, JoinedAttributeManager joinManager, Object targetObject, CacheKey parentCacheKey, ObjectBuildingQuery sourceQuery, AbstractSession executionSession, boolean isTargetProtected) throws DatabaseException

Overrides org.eclipse.persistence.mappings.DatabaseMapping.readFromRowIntoObject.

Doc from org.eclipse.persistence.mappings.DatabaseMapping.readFromRowIntoObject.

INTERNAL: Extract value from the row and set the attribute to this value in the object. return value as this value will have been converted to the appropriate type for the object.

Annotations
@Override
setAttributeValueInObjectback to summary
public void setAttributeValueInObject(Object object, Object value) throws DescriptorException

Overrides org.eclipse.persistence.mappings.foundation.AbstractCompositeObjectMapping.setAttributeValueInObject.

Implements org.eclipse.persistence.internal.oxm.mappings.Mapping.setAttributeValueInObject.

Doc from org.eclipse.persistence.mappings.foundation.AbstractCompositeObjectMapping.setAttributeValueInObject.

INTERNAL: Set the value of the attribute mapped by this mapping.

Parameters
object:Object

Doc from org.eclipse.persistence.core.mappings.CoreMapping.setAttributeValueInObject.

TODO

value:Object

Doc from org.eclipse.persistence.core.mappings.CoreMapping.setAttributeValueInObject.

TODO

Annotations
@Override
setContainerAccessorback to summary
public void setContainerAccessor(AttributeAccessor anAttributeAccessor)

Deprecated

Replaced by getInverseReferenceMapping().setAttributeAccessor()

Sets the AttributeAccessor that is used to get and set the value of the container on the target object.

Parameters
anAttributeAccessor:AttributeAccessor

- the accessor to be used.

Annotations
@Deprecated
setContainerAttributeNameback to summary
public void setContainerAttributeName(String attributeName)

Deprecated

Replaced by getInverseReferenceMapping().setAttributeName()

Sets the name of the backpointer attribute on the target object. Used to populate the backpointer. If the specified attribute doesn't exist on the reference class of this mapping, a DescriptorException will be thrown during initialize.

Parameters
attributeName:String

- the name of the backpointer attribute to be populated

Annotations
@Deprecated
setContainerGetMethodNameback to summary
public void setContainerGetMethodName(String methodName)

Deprecated

Replaced by getInverseReferenceMapping().setGetMethodName()

Sets the method name to be used when accessing the value of the back pointer on the target object of this mapping. If the specified method doesn't exist on the reference class of this mapping, a DescriptorException will be thrown during initialize.

Parameters
methodName:String

- the getter method to be used.

Annotations
@Deprecated
setContainerSetMethodNameback to summary
public void setContainerSetMethodName(String methodName)

Deprecated

Replaced by getInverseReferenceMapping().setSetMethodName()

Sets the name of the method to be used when setting the value of the back pointer on the target object of this mapping. If the specified method doesn't exist on the reference class of this mapping, a DescriptorException will be thrown during initialize.

Parameters
methodName:String

- the setter method to be used.

Annotations
@Deprecated
setInverseReferenceMappingback to summary
pack-priv void setInverseReferenceMapping(XMLInverseReferenceMapping inverseReferenceMapping)
setIsWriteOnlyback to summary
public void setIsWriteOnly(boolean b)

Implements org.eclipse.persistence.oxm.mappings.XMLMapping.setIsWriteOnly, org.eclipse.persistence.internal.oxm.mappings.CompositeObjectMapping.setIsWriteOnly.

Annotations
@Override
setKeepAsElementPolicyback to summary
public void setKeepAsElementPolicy(UnmarshalKeepAsElementPolicy keepAsElementPolicy)

Implements org.eclipse.persistence.internal.oxm.mappings.CompositeObjectMapping.setKeepAsElementPolicy.

Annotations
@Override
setNullPolicyback to summary
public void setNullPolicy(AbstractNullPolicy aNullPolicy)

Implements org.eclipse.persistence.internal.oxm.mappings.CompositeObjectMapping.setNullPolicy, org.eclipse.persistence.oxm.mappings.XMLNillableMapping.setNullPolicy.

Set the AbstractNullPolicy on the mapping
The default policy is NullPolicy.

Annotations
@Override
setXPathback to summary
public void setXPath(String xpathString)

Implements org.eclipse.persistence.internal.oxm.mappings.CompositeObjectMapping.setXPath.

Set the Mapping field name attribute to the given XPath String

Parameters
xpathString:String

String

Annotations
@Override
valueFromRowback to summary
public Object valueFromRow(Object fieldValue, XMLRecord nestedRow, JoinedAttributeManager joinManager, ObjectBuildingQuery sourceQuery, AbstractSession executionSession, boolean isTargetProtected) throws DatabaseException
valueFromRowback to summary
public Object valueFromRow(AbstractRecord row, JoinedAttributeManager joinManager, ObjectBuildingQuery sourceQuery, CacheKey cacheKey, AbstractSession executionSession, boolean isTargetProtected, Boolean[] wasCacheUsed) throws DatabaseException

Overrides org.eclipse.persistence.mappings.foundation.AbstractCompositeObjectMapping.valueFromRow.

Doc from org.eclipse.persistence.mappings.foundation.AbstractCompositeObjectMapping.valueFromRow.

INTERNAL: Extract and return the aggregate object from the specified row.

Annotations
@Override
writeFromObjectIntoRowback to summary
public void writeFromObjectIntoRow(Object object, AbstractRecord databaseRow, AbstractSession session, DatabaseMapping.WriteType writeType) throws DescriptorException

Overrides org.eclipse.persistence.mappings.foundation.AbstractCompositeObjectMapping.writeFromObjectIntoRow.

INTERNAL:

Annotations
@Override
writeSingleValueback to summary
public void writeSingleValue(Object value, Object parent, XMLRecord record, AbstractSession session)

Implements org.eclipse.persistence.oxm.mappings.XMLMapping.writeSingleValue, org.eclipse.persistence.internal.oxm.mappings.Mapping.writeSingleValue.

Doc from org.eclipse.persistence.oxm.mappings.XMLMapping.writeSingleValue.

INTERNAL: A method that marshals a single value to the provided Record based on this mapping's XPath. Used for Sequenced marshalling.

Parameters
value:Object

- The value to be marshalled

record:XMLRecord

- The Record the value is being marshalled too.

Annotations
@Override