org.eclipse.persistence.oxm.mappings
Class XMLFragmentMapping
java.lang.Object
org.eclipse.persistence.mappings.DatabaseMapping
org.eclipse.persistence.mappings.foundation.AbstractColumnMapping
org.eclipse.persistence.mappings.foundation.AbstractDirectMapping
org.eclipse.persistence.oxm.mappings.XMLDirectMapping
org.eclipse.persistence.oxm.mappings.XMLFragmentMapping
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, MapComponentMapping, MapKeyMapping, XMLMapping, XMLNillableMapping
public class XMLFragmentMapping
- extends XMLDirectMapping
Purpose: This mapping provides a means to keep a part of the xml tree as a DOM element.
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 fragment. The XPath is specified on the mapping using the setXPath
method.
XPath |
Description |
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. |
Sample Configuration:
XMLFragmentCollectionMapping mapping = new XMLFragmentCollectionMapping();
mapping.setAttributeName("phoneNumber");
mapping.setXPath("contact-info/phone-number");
- See Also:
- Serialized Form
Fields inherited from class org.eclipse.persistence.mappings.DatabaseMapping |
attributeAccessor, attributeName, derivedIdMapping, derivesId, descriptor, fields, isCacheable, isJPAId, isLazy, isMapKeyMapping, isOptional, isPrimaryKeyMapping, isReadOnly, isRemotelyInitialized, mapsIdValue, NO_FIELDS, NO_WEIGHT, properties, unconvertedProperties, weight, WEIGHT_AGGREGATE, WEIGHT_DIRECT, WEIGHT_TO_ONE, WEIGHT_TRANSFORM |
Method Summary |
boolean |
isAbstractColumnMapping()
INTERNAL: |
boolean |
isAbstractDirectMapping()
INTERNAL: |
void |
setXPath(java.lang.String xpathString)
Set the Mapping field name attribute to the given XPath String |
java.lang.Object |
valueFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
ObjectBuildingQuery query,
org.eclipse.persistence.internal.identitymaps.CacheKey cacheKey,
org.eclipse.persistence.internal.sessions.AbstractSession executionSession,
boolean isTargetProtected,
java.lang.Boolean[] wasCacheUsed)
INTERNAL:
Return the mapping's attribute value from the row. |
void |
writeFromObjectIntoRow(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session,
DatabaseMapping.WriteType writeType)
INTERNAL:
Get a value from the object and set that in the respective field of the row. |
void |
writeSingleValue(java.lang.Object attributeValue,
java.lang.Object parent,
XMLRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
A method that marshals a single value to the provided Record based on this mapping's
XPath. |
Methods inherited from class org.eclipse.persistence.oxm.mappings.XMLDirectMapping |
getAttributeValue, getFieldValue, getNullPolicy, getXPath, initialize, isCDATA, isCloningRequired, isCollapsingStringValues, isNormalizingStringValues, isNullValueMarshalled, isWriteOnly, isXMLMapping, preInitialize, setAttributeValueInObject, setCollapsingStringValues, setIsCDATA, setIsWriteOnly, setNormalizingStringValues, setNullPolicy, setNullValueMarshalled, writeValueIntoRow |
Methods inherited from class org.eclipse.persistence.mappings.foundation.AbstractDirectMapping |
addAdditionalFieldsToQuery, addFieldsForMapKey, addKeyToDeletedObjectsList, buildBackupClone, buildChangeRecord, buildClone, buildCloneFromRow, buildCloneValue, buildCloneValue, buildCopy, buildElementClone, buildExpression, buildSelectionQueryForDirectCollectionKeyMapping, buildShallowOriginalFromRow, cascadeDiscoverAndPersistUnregisteredNewObjects, cascadePerformRemoveIfRequired, cascadePerformRemoveIfRequired, cascadeRegisterNewIfRequired, cascadeRegisterNewIfRequired, clone, compareForChange, compareObjects, compareObjectValues, convertClassNamesToClasses, createMapComponentFromJoinedRow, createMapComponentFromRow, createMapComponentsFromSerializableKeyInfo, createQueryKeyForMapKey, createSerializableMapKeyInfo, createStubbedMapComponentFromSerializableKeyInfo, deleteMapKey, extractIdentityFieldsForQuery, getAdditionalSelectionCriteriaForMapKey, getAdditionalTablesForJoinQuery, getAllFieldsForMapKey, getAttributeClassification, getAttributeClassificationName, getAttributeValue, getFieldClassification, getFieldClassification, getFieldName, getFieldValue, getForeignKeyFieldsForMapKey, getIdentityFieldsForMapKey, getMapKeyTargetType, getNestedJoinQuery, getNullValue, getObjectValue, getReferenceDescriptor, getTargetVersionOfSourceObject, getWeight, internalBuildChangeRecord, isChangeTrackingSupported, isDirectToFieldMapping, isMutable, iterateOnMapKey, mergeChangesIntoObject, mergeIntoObject, postInitializeMapKey, preinitializeMapKey, remoteInitialization, requiresDataModificationEventsForMapKey, setAttributeClassification, setAttributeClassificationName, setFieldClassification, setFieldClassificationClassName, setFieldType, setIsMutable, setNullValue, toString, unwrapKey, updateChangeRecord, validateBeforeInitialization, valueFromObject, valueFromResultSet, wrapKey, writeFromObjectIntoRowForUpdate, writeFromObjectIntoRowWithChangeRecord, writeInsertFieldsIntoRow, writeUpdateFieldsIntoRow |
Methods inherited from class org.eclipse.persistence.mappings.foundation.AbstractColumnMapping |
collectFields, fixObjectReferences, getConverter, getField, hasConverter, isInsertable, isUpdatable, iterate, setConverter, setConverterClassName, setField |
Methods inherited from class org.eclipse.persistence.mappings.DatabaseMapping |
addUnconvertedProperty, buildBackupCloneForPartObject, buildCloneForPartObject, buildContainerClone, buildObjectJoinExpression, buildObjectJoinExpression, calculateDeferredChanges, cascadeDiscoverAndPersistUnregisteredNewObjects, cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired, cloneFields, collectQueryParameters, createCloneValueHolder, derivesId, earlyPreDelete, extractNestedExpressions, fixRealObjectReferences, getAttributeAccessor, getAttributeName, getAttributeValueFromObject, getContainerPolicy, getDerivedIdMapping, getDescriptor, getFields, getGetMethodName, getMapsIdValue, getObjectCorrespondingTo, getOrderByNormalizedExpressions, getProperties, getProperty, getRealAttributeValueFromAttribute, getRealAttributeValueFromObject, getRealCollectionAttributeValueFromObject, getRelationshipPartner, getSelectFields, getSelectTables, getSetMethodName, getUnconvertedProperties, getValueFromRemoteValueHolder, hasConstraintDependency, hasDependency, hasInverseConstraintDependency, hasMapsIdValue, hasRootExpressionThatShouldUseOuterJoin, hasUnconvertedProperties, instantiateAttribute, isAbstractCompositeCollectionMapping, isAbstractCompositeDirectCollectionMapping, isAbstractCompositeObjectMapping, isAggregateCollectionMapping, isAggregateMapping, isAggregateObjectMapping, isCacheable, isCandidateForPrivateOwnedRemoval, isCascadedLockingSupported, isCollectionMapping, isDatabaseMapping, isDirectCollectionMapping, isDirectMapMapping, isDirectToXMLTypeMapping, isEISMapping, isElementCollectionMapping, isForeignReferenceMapping, isJoiningSupported, isJPAId, isLazy, isLockableMapping, isManyToManyMapping, isManyToOneMapping, isMapKeyMapping, isMultitenantPrimaryKeyMapping, isNestedTableMapping, isObjectReferenceMapping, isOneToManyMapping, isOneToOneMapping, isOptional, isOwned, isPrimaryKeyMapping, isPrivateOwned, isReadOnly, isReferenceMapping, isRelationalMapping, isRemotelyInitialized, isStructureMapping, isTransformationMapping, isUnidirectionalOneToManyMapping, isUsingMethodAccess, isVariableOneToOneMapping, iterateOnRealAttributeValue, performDataModificationEvent, postCalculateChanges, postCalculateChangesOnDeleted, postDelete, postInitialize, postInsert, postUpdate, preDelete, preInsert, prepareCascadeLockingPolicy, preUpdate, readFromResultSetIntoObject, readFromRowIntoObject, readOnly, readWrite, recordPrivateOwnedRemovals, rehashFieldDependancies, remotelyInitialized, replaceValueHoldersIn, setAttributeAccessor, setAttributeName, setChangeListener, setDerivedIdMapping, setDerivesId, setDescriptor, setFields, setGetMethodName, setIsCacheable, setIsJPAId, setIsLazy, setIsMapKeyMapping, setIsOptional, setIsPrimaryKeyMapping, setIsReadOnly, setMapsIdValue, setProperties, setProperty, setRealAttributeValueInObject, setSetMethodName, setWeight, simpleAddToCollectionChangeRecord, simpleRemoveFromCollectionChangeRecord, updateCollectionChangeRecord, validateAfterInitialization, valueFromRow, verifyDelete, writeFromAttributeIntoRow, writeFromObjectIntoRowForShallowInsert, writeFromObjectIntoRowForShallowInsertWithChangeRecord, writeFromObjectIntoRowForUpdateAfterShallowInsert, writeFromObjectIntoRowForUpdateBeforeShallowDelete, writeFromObjectIntoRowForWhereClause |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
XMLFragmentMapping
public XMLFragmentMapping()
writeFromObjectIntoRow
public void writeFromObjectIntoRow(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session,
DatabaseMapping.WriteType writeType)
- INTERNAL:
Get a value from the object and set that in the respective field of the row.
- Overrides:
writeFromObjectIntoRow
in class XMLDirectMapping
valueFromRow
public java.lang.Object valueFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
ObjectBuildingQuery query,
org.eclipse.persistence.internal.identitymaps.CacheKey cacheKey,
org.eclipse.persistence.internal.sessions.AbstractSession executionSession,
boolean isTargetProtected,
java.lang.Boolean[] wasCacheUsed)
- Description copied from class:
XMLDirectMapping
- INTERNAL:
Return the mapping's attribute value from the row.
The execution session is passed for the case of building a UnitOfWork clone
directly from a row, the session set in the query will not know which platform to use
for converting the value. Allows the correct session to be passed in.
- Overrides:
valueFromRow
in class XMLDirectMapping
writeSingleValue
public void writeSingleValue(java.lang.Object attributeValue,
java.lang.Object parent,
XMLRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
- Description copied from interface:
XMLMapping
- INTERNAL:
A method that marshals a single value to the provided Record based on this mapping's
XPath. Used for Sequenced marshalling.
- Specified by:
writeSingleValue
in interface XMLMapping
- Overrides:
writeSingleValue
in class XMLDirectMapping
- Parameters:
attributeValue
- - The value to be marshalledrow
- - The Record the value is being marshalled too.
setXPath
public void setXPath(java.lang.String xpathString)
- Description copied from class:
XMLDirectMapping
- Set the Mapping field name attribute to the given XPath String
- Overrides:
setXPath
in class XMLDirectMapping
- Parameters:
xpathString
- String
isAbstractDirectMapping
public boolean isAbstractDirectMapping()
- Description copied from class:
AbstractDirectMapping
- INTERNAL:
- Overrides:
isAbstractDirectMapping
in class AbstractDirectMapping
isAbstractColumnMapping
public boolean isAbstractColumnMapping()
- Description copied from class:
AbstractColumnMapping
- INTERNAL:
- Overrides:
isAbstractColumnMapping
in class AbstractColumnMapping