Class XMLCollectionReferenceMapping
- java.lang.Object
-
- org.eclipse.persistence.core.mappings.CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
-
- org.eclipse.persistence.mappings.DatabaseMapping
-
- org.eclipse.persistence.mappings.AggregateMapping
-
- org.eclipse.persistence.oxm.mappings.XMLObjectReferenceMapping
-
- org.eclipse.persistence.oxm.mappings.XMLCollectionReferenceMapping
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,org.eclipse.persistence.internal.oxm.mappings.CollectionReferenceMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.record.UnmarshalRecord,XMLField,XMLRecord>,org.eclipse.persistence.internal.oxm.mappings.Mapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLRecord>,org.eclipse.persistence.internal.oxm.mappings.ObjectReferenceMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.record.UnmarshalRecord,XMLField,XMLRecord>,org.eclipse.persistence.internal.oxm.mappings.XMLContainerMapping,ContainerMapping,XMLMapping
public class XMLCollectionReferenceMapping extends XMLObjectReferenceMapping implements org.eclipse.persistence.internal.oxm.mappings.CollectionReferenceMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.record.UnmarshalRecord,XMLField,XMLRecord>, ContainerMapping
TopLink OXM version of a 1-M mapping. A list of source-target key field associations is used to link the source xpaths to their related target xpaths, and hence their primary key (unique identifier) values used when (un)marshalling. It is important to note that each target xpath is assumed to be set as a primary key field on the target (reference) class descriptor - this is necessary in order to locate the correct target object instance in the session cache when resolving mapping references. The usesSingleNode flag should be set to true if the keys are to be written out in space-separated lists.- See Also:
XMLObjectReferenceMapping,ContainerMapping, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.persistence.mappings.DatabaseMapping
DatabaseMapping.WriteType
-
-
Field Summary
Fields Modifier and Type Field Description protected org.eclipse.persistence.internal.queries.ContainerPolicycontainerPolicy-
Fields inherited from class org.eclipse.persistence.oxm.mappings.XMLObjectReferenceMapping
sourceToTargetKeyFieldAssociations, sourceToTargetKeys
-
Fields inherited from class org.eclipse.persistence.mappings.AggregateMapping
hasNestedIdentityReference, referenceClass, referenceClassName, referenceDescriptor
-
Fields inherited from class org.eclipse.persistence.mappings.DatabaseMapping
attributeAccessor, attributeName, derivedIdMapping, derivesId, descriptor, fields, isCacheable, isInSopObject, isJPAId, isLazy, isMapKeyMapping, isOptional, isPrimaryKeyMapping, isReadOnly, isRemotelyInitialized, mapsIdValue, NO_FIELDS, NO_WEIGHT, properties, unconvertedProperties, weight, WEIGHT_AGGREGATE, WEIGHT_DIRECT, WEIGHT_TO_ONE, WEIGHT_TRANSFORM
-
-
Constructor Summary
Constructors Constructor Description XMLCollectionReferenceMapping()PUBLIC: The default constructor initializes the sourceToTargetKeyFieldAssociations and sourceToTargetKeys data structures.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ObjectbuildFieldValue(java.lang.Object targetObject, XMLField xmlFld, org.eclipse.persistence.internal.sessions.AbstractSession session)INTERNAL: Retrieve the target object's primary key value that is mapped to a given source xpath (in the source-target key field association list).voidbuildReference(java.lang.Object srcObject, XMLField xmlField, java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractSession session, java.lang.Object container, org.eclipse.persistence.internal.oxm.ReferenceResolver resolver)INTERNAL: Create (if necessary) and populate a reference object that will be used during the mapping reference resolution phase after unmarshalling is complete.voidbuildReference(org.eclipse.persistence.internal.oxm.record.UnmarshalRecord record, XMLField xmlField, java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractSession session, java.lang.Object container)INTERNAL: Create (if necessary) and populate a reference object that will be used during the mapping reference resolution phase after unmarshalling is complete.org.eclipse.persistence.internal.queries.ContainerPolicygetContainerPolicy()INTERNAL: Return the mapping's containerPolicy.org.eclipse.persistence.internal.helper.DatabaseFieldgetField()INTERNAL: Return the field associated with this mapping if there is exactly one.booleangetReuseContainer()Return true if the original container on the object should be used if present.AbstractNullPolicygetWrapperNullPolicy()java.lang.StringgetXPath()Get the XPath Stringvoidinitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)INTERNAL: The mapping is initialized with the given session.booleanisCollectionMapping()INTERNAL: Related mapping should implement this method to return true.booleanisDefaultEmptyContainer()INTERNAL Return true if an empty container should be set on the object if there is no presence of the collection in the XML document.java.lang.ObjectreadFromRowIntoObject(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow, org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, java.lang.Object targetObject, org.eclipse.persistence.internal.identitymaps.CacheKey parentCacheKey, ObjectBuildingQuery sourceQuery, org.eclipse.persistence.internal.sessions.AbstractSession executionSession, boolean isTargetProtected)INTERNAL: Extract the primary key values from the row, then create an org.eclipse.persistence.internal.oxm.Reference instance and stored it on the session's org.eclipse.persistence.internal.oxm.ReferenceResolver.java.lang.ObjectreadFromRowIntoObject(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow, org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, java.lang.Object targetObject, org.eclipse.persistence.internal.identitymaps.CacheKey parentCacheKey, ObjectBuildingQuery sourceQuery, org.eclipse.persistence.internal.sessions.AbstractSession executionSession, boolean isTargetProtected, java.lang.Object container)INTERNAL: Extract the primary key values from the row, then create an org.eclipse.persistence.internal.oxm.Reference instance and stored it on the session's org.eclipse.persistence.internal.oxm.ReferenceResolver.voidsetContainerPolicy(org.eclipse.persistence.internal.queries.ContainerPolicy containerPolicy)ADVANCED: Set the mapping's containerPolicy.voidsetDefaultEmptyContainer(boolean defaultEmptyContainer)INTERNAL Indicate whether by default an empty container should be set on the field/property if the collection is not present in the XML document.voidsetField(org.eclipse.persistence.internal.helper.DatabaseField field)voidsetReuseContainer(boolean reuseContainer)Specify whether the original container on the object should be used if present.voidsetUsesSingleNode(boolean useSingleNode)voidsetWrapperNullPolicy(AbstractNullPolicy policy)voidsetXPath(java.lang.String xpathString)Set the Mapping field name attribute to the given XPath StringvoiduseCollectionClass(java.lang.Class concreteContainerClass)PUBLIC: Configure the mapping to use an instance of the specified container class to hold the target objects.voiduseCollectionClassName(java.lang.String concreteContainerClassName)PUBLIC: Configure the mapping to use an instance of the specified container class to hold the target objects.voiduseListClassName(java.lang.String concreteContainerClassName)PUBLIC: Configure the mapping to use an instance of the specified container class to hold the target objects.voiduseMapClass(java.lang.Class concreteContainerClass, java.lang.String methodName)PUBLIC: Configure the mapping to use an instance of the specified container class to hold the target objects.voiduseMapClassName(java.lang.String concreteContainerClass, java.lang.String methodName)PUBLIC: Configure the mapping to use an instance of the specified container class to hold the target objects.booleanusesSingleNode()INTERNAL: For the purpose of XMLCollectionReferenceMappings, 'usesSingleNode' refers to the fact that the source key xpath fields should all be written as space-separated lists.voidwriteFromObjectIntoRow(java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.AbstractSession session, DatabaseMapping.WriteType writeType)INTERNAL: Write the attribute value from the object to the row.voidwriteSingleValue(java.lang.Object value, 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.XMLObjectReferenceMapping
addSourceToTargetKeyFieldAssociation, addSourceToTargetKeyFieldAssociation, buildReference, cascadePerformRemoveIfRequired, cascadeRegisterNewIfRequired, getFields, getInverseReferenceMapping, getSchemaType, getSingleValueToWriteForUnion, getSourceToTargetKeyFieldAssociations, getValueToWrite, isObjectReferenceMapping, isWriteOnly, isXMLMapping, preInitialize, setAttributeValueInObject, setIsWriteOnly, setSourceToTargetKeyFieldAssociations
-
Methods inherited from class org.eclipse.persistence.mappings.AggregateMapping
buildAggregateDeleteQuery, buildAggregateModifyQuery, buildAggregateWriteQuery, buildBackupClone, buildBackupClonePart, buildClone, buildCloneFromRow, buildClonePart, buildClonePart, buildCopy, buildCopyOfAttributeValue, buildExpression, buildNewMergeInstanceOf, compareAttributeValues, compareForChange, compareObjects, convertClassNamesToClasses, executeEvent, fixAttributeValue, fixObjectReferences, getAttributeValueFromBackupClone, getObjectBuilder, getObjectBuilderForClass, getQueryManager, getReferenceClass, getReferenceClassName, getReferenceDescriptor, getReferenceDescriptor, getReferenceDescriptor, hasNestedIdentityReference, isAggregateMapping, iterate, iterateOnAttributeValue, load, loadAll, mergeAttributeValue, mergeChangesIntoObject, mergeIntoObject, postDelete, postDeleteAttributeValue, postInsert, postInsertAttributeValue, postUpdate, postUpdateAttributeValue, preDelete, preDeleteAttributeValue, preInsert, preInsertAttributeValue, preUpdate, preUpdateAttributeValue, remoteInitialization, setReferenceClass, setReferenceClassName, setReferenceDescriptor, updateChangeRecord, verifyDelete, verifyDeleteOfAttributeValue
-
Methods inherited from class org.eclipse.persistence.mappings.DatabaseMapping
addUnconvertedProperty, buildBackupCloneForPartObject, buildChangeRecord, buildCloneForPartObject, buildContainerClone, buildObjectJoinExpression, buildObjectJoinExpression, buildShallowOriginalFromRow, calculateDeferredChanges, cascadeDiscoverAndPersistUnregisteredNewObjects, cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired, clone, cloneFields, collectFields, collectQueryParameters, convertConverterClassNamesToClasses, createCloneValueHolder, derivesId, earlyPreDelete, extractNestedExpressions, extractNestedNonAggregateExpressions, fixRealObjectReferences, getAttributeAccessor, getAttributeClassification, getAttributeName, getAttributeValueFromObject, getDerivedIdMapping, getDescriptor, getFieldClassification, getGetMethodName, getMapsIdValue, getObjectCorrespondingTo, getOrderByNormalizedExpressions, getProperties, getProperty, getRealAttributeValueFromAttribute, getRealAttributeValueFromObject, getRealCollectionAttributeValueFromObject, getRelationshipPartner, getSelectFields, getSelectTables, getSetMethodName, getUnconvertedProperties, getValueFromRemoteValueHolder, getWeight, hasConstraintDependency, hasDependency, hasInverseConstraintDependency, hasMapsIdValue, hasRootExpressionThatShouldUseOuterJoin, hasUnconvertedProperties, instantiateAttribute, isAbstractColumnMapping, isAbstractCompositeCollectionMapping, isAbstractCompositeDirectCollectionMapping, isAbstractCompositeObjectMapping, isAbstractDirectMapping, isAggregateCollectionMapping, isAggregateObjectMapping, isAttributeValueFromObjectInstantiated, isCacheable, isCandidateForPrivateOwnedRemoval, isCascadedLockingSupported, isChangeTrackingSupported, isCloningRequired, isDatabaseMapping, isDirectCollectionMapping, isDirectMapMapping, isDirectToFieldMapping, isDirectToXMLTypeMapping, isEISMapping, isElementCollectionMapping, isForeignReferenceMapping, isInAndOutSopObject, isInOnlySopObject, isInSopObject, isJoiningSupported, isJPAId, isLazy, isLockableMapping, isManyToManyMapping, isManyToOneMapping, isMapKeyMapping, isMultitenantPrimaryKeyMapping, isNestedTableMapping, isOneToManyMapping, isOneToOneMapping, isOptional, isOutOnlySopObject, isOutSopObject, isOwned, isPrimaryKeyMapping, isPrivateOwned, isReadOnly, isReferenceMapping, isRelationalMapping, isRemotelyInitialized, isStructureMapping, isTransformationMapping, isUnidirectionalOneToManyMapping, isUsingMethodAccess, isVariableOneToOneMapping, iterateOnRealAttributeValue, performDataModificationEvent, postCalculateChanges, postCalculateChangesOnDeleted, postInitialize, postInitializeSourceAndTargetExpressions, prepareCascadeLockingPolicy, readFromResultSetIntoObject, readOnly, readWrite, recordPrivateOwnedRemovals, rehashFieldDependancies, remotelyInitialized, replaceValueHoldersIn, setAttributeAccessor, setAttributeName, setChangeListener, setDerivedIdMapping, setDerivesId, setDescriptor, setFields, setGetMethodName, setIsCacheable, setIsInAndOutSopObject, setIsInSopObject, setIsJPAId, setIsLazy, setIsMapKeyMapping, setIsOptional, setIsOutSopObject, setIsPrimaryKeyMapping, setIsReadOnly, setMapsIdValue, setProperties, setProperty, setRealAttributeValueInObject, setSetMethodName, setWeight, simpleAddToCollectionChangeRecord, simpleRemoveFromCollectionChangeRecord, toString, updateCollectionChangeRecord, validateAfterInitialization, validateBeforeInitialization, valueFromObject, valueFromResultSet, valueFromRow, valueFromRow, writeFromAttributeIntoRow, writeFromObjectIntoRowForShallowInsert, writeFromObjectIntoRowForShallowInsertWithChangeRecord, writeFromObjectIntoRowForUpdate, writeFromObjectIntoRowForUpdateAfterShallowInsert, writeFromObjectIntoRowForUpdateBeforeShallowDelete, writeFromObjectIntoRowForWhereClause, writeFromObjectIntoRowWithChangeRecord, writeInsertFieldsIntoRow, writeUpdateFieldsIntoRow
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.persistence.internal.oxm.mappings.Mapping
getAttributeAccessor, getAttributeClassification, getAttributeName, getAttributeValueFromObject, getDescriptor, getReferenceDescriptor, isAbstractCompositeCollectionMapping, isAbstractCompositeDirectCollectionMapping, isAbstractCompositeObjectMapping, isAbstractDirectMapping, isReadOnly, isReferenceMapping, isTransformationMapping, setAttributeAccessor, setAttributeName, setAttributeValueInObject, setGetMethodName, setIsReadOnly, setProperties, setSetMethodName
-
Methods inherited from interface org.eclipse.persistence.internal.oxm.mappings.ObjectReferenceMapping
addSourceToTargetKeyFieldAssociation, buildReference, getFields, getInverseReferenceMapping, getReferenceClass, getReferenceClassName, getSourceToTargetKeyFieldAssociations, isWriteOnly, setIsWriteOnly, setReferenceClassName
-
Methods inherited from interface org.eclipse.persistence.oxm.mappings.XMLMapping
convertClassNamesToClasses
-
-
-
-
Method Detail
-
getField
public org.eclipse.persistence.internal.helper.DatabaseField getField()
Description copied from class:DatabaseMappingINTERNAL: Return the field associated with this mapping if there is exactly one. This is required for object relational mapping to print them, but because they are defined in in an Enterprise context they cannot be cast to. Mappings that have a field include direct mappings and object relational mappings.- Specified by:
getFieldin interfaceorg.eclipse.persistence.internal.oxm.mappings.Mapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLRecord>- Overrides:
getFieldin classDatabaseMapping
-
setField
public void setField(org.eclipse.persistence.internal.helper.DatabaseField field)
- Overrides:
setFieldin classXMLObjectReferenceMapping
-
getXPath
public java.lang.String getXPath()
Get the XPath String- Returns:
- String the XPath String associated with this Mapping
-
setXPath
public void setXPath(java.lang.String xpathString)
Set the Mapping field name attribute to the given XPath String- Parameters:
xpathString- String
-
buildFieldValue
public java.lang.Object buildFieldValue(java.lang.Object targetObject, XMLField xmlFld, org.eclipse.persistence.internal.sessions.AbstractSession session)INTERNAL: Retrieve the target object's primary key value that is mapped to a given source xpath (in the source-target key field association list).- Specified by:
buildFieldValuein interfaceorg.eclipse.persistence.internal.oxm.mappings.ObjectReferenceMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.record.UnmarshalRecord,XMLField,XMLRecord>- Overrides:
buildFieldValuein classXMLObjectReferenceMapping- Parameters:
targetObject- - the reference class instance that holds the required pk valuexmlFld-session-- Returns:
- null if the target object is null, the reference class is null, or a primary key field name does not exist on the reference descriptor that matches the target field name - otherwise, return the associated primary key value
-
buildReference
public void buildReference(org.eclipse.persistence.internal.oxm.record.UnmarshalRecord record, XMLField xmlField, java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractSession session, java.lang.Object container)INTERNAL: Create (if necessary) and populate a reference object that will be used during the mapping reference resolution phase after unmarshalling is complete.- Specified by:
buildReferencein interfaceorg.eclipse.persistence.internal.oxm.mappings.CollectionReferenceMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.record.UnmarshalRecord,XMLField,XMLRecord>
-
buildReference
public void buildReference(java.lang.Object srcObject, XMLField xmlField, java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractSession session, java.lang.Object container, org.eclipse.persistence.internal.oxm.ReferenceResolver resolver)INTERNAL: Create (if necessary) and populate a reference object that will be used during the mapping reference resolution phase after unmarshalling is complete.
-
getContainerPolicy
public org.eclipse.persistence.internal.queries.ContainerPolicy getContainerPolicy()
INTERNAL: Return the mapping's containerPolicy.- Specified by:
getContainerPolicyin interfaceContainerMapping- Specified by:
getContainerPolicyin interfaceorg.eclipse.persistence.internal.oxm.mappings.Mapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLRecord>- Overrides:
getContainerPolicyin classDatabaseMapping
-
initialize
public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorExceptionINTERNAL: The mapping is initialized with the given session. This mapping is fully initialized after this.- Overrides:
initializein classXMLObjectReferenceMapping- Throws:
DescriptorException- See Also:
ReferenceResolver,NamespaceResolver
-
readFromRowIntoObject
public java.lang.Object readFromRowIntoObject(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow, org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, java.lang.Object targetObject, org.eclipse.persistence.internal.identitymaps.CacheKey parentCacheKey, ObjectBuildingQuery sourceQuery, org.eclipse.persistence.internal.sessions.AbstractSession executionSession, boolean isTargetProtected) throws DatabaseExceptionINTERNAL: Extract the primary key values from the row, then create an org.eclipse.persistence.internal.oxm.Reference instance and stored it on the session's org.eclipse.persistence.internal.oxm.ReferenceResolver.- Overrides:
readFromRowIntoObjectin classXMLObjectReferenceMapping- Throws:
DatabaseException
-
readFromRowIntoObject
public java.lang.Object readFromRowIntoObject(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow, org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, java.lang.Object targetObject, org.eclipse.persistence.internal.identitymaps.CacheKey parentCacheKey, ObjectBuildingQuery sourceQuery, org.eclipse.persistence.internal.sessions.AbstractSession executionSession, boolean isTargetProtected, java.lang.Object container) throws DatabaseExceptionINTERNAL: Extract the primary key values from the row, then create an org.eclipse.persistence.internal.oxm.Reference instance and stored it on the session's org.eclipse.persistence.internal.oxm.ReferenceResolver.- Throws:
DatabaseException
-
setContainerPolicy
public void setContainerPolicy(org.eclipse.persistence.internal.queries.ContainerPolicy containerPolicy)
ADVANCED: Set the mapping's containerPolicy.- Specified by:
setContainerPolicyin interfaceContainerMapping
-
useCollectionClass
public void useCollectionClass(java.lang.Class concreteContainerClass)
PUBLIC: Configure the mapping to use an instance of the specified container class to hold the target objects.jdk1.2.x: The container class must implement (directly or indirectly) the Collection interface.
jdk1.1.x: The container class must be a subclass of Vector.
- Specified by:
useCollectionClassin interfaceContainerMapping
-
useCollectionClassName
public void useCollectionClassName(java.lang.String concreteContainerClassName)
Description copied from interface:ContainerMappingPUBLIC: Configure the mapping to use an instance of the specified container class to hold the target objects.The container class must implement (directly or indirectly) the
java.util.Collectioninterface.- Specified by:
useCollectionClassNamein interfaceorg.eclipse.persistence.internal.oxm.mappings.CollectionReferenceMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.record.UnmarshalRecord,XMLField,XMLRecord>- Specified by:
useCollectionClassNamein interfaceContainerMapping
-
useListClassName
public void useListClassName(java.lang.String concreteContainerClassName)
Description copied from interface:ContainerMappingPUBLIC: Configure the mapping to use an instance of the specified container class to hold the target objects.The container class must implement (directly or indirectly) the
java.util.Listinterface.- Specified by:
useListClassNamein interfaceContainerMapping
-
useMapClass
public void useMapClass(java.lang.Class concreteContainerClass, java.lang.String methodName)PUBLIC: Configure the mapping to use an instance of the specified container class to hold the target objects. The key used to index the value in the Map is the value returned by a call to the specified zero-argument method. The method must be implemented by the class (or a superclass) of the value to be inserted into the Map.jdk1.2.x: The container class must implement (directly or indirectly) the Map interface.
jdk1.1.x: The container class must be a subclass of Hashtable.
The referenceClass must be set before calling this method.
- Specified by:
useMapClassin interfaceContainerMapping
-
useMapClassName
public void useMapClassName(java.lang.String concreteContainerClass, java.lang.String methodName)PUBLIC: Configure the mapping to use an instance of the specified container class to hold the target objects. The key used to index the value in the Map is the value returned by a call to the specified zero-argument method. The method must be implemented by the class (or a superclass) of the value to be inserted into the Map.jdk1.2.x: The container class must implement (directly or indirectly) the Map interface.
jdk1.1.x: The container class must be a subclass of Hashtable.
The referenceClass must be set before calling this method.
- Specified by:
useMapClassNamein interfaceContainerMapping
-
usesSingleNode
public boolean usesSingleNode()
INTERNAL: For the purpose of XMLCollectionReferenceMappings, 'usesSingleNode' refers to the fact that the source key xpath fields should all be written as space-separated lists. Would be used for mapping to an IDREFS field in a schema- Specified by:
usesSingleNodein interfaceorg.eclipse.persistence.internal.oxm.mappings.CollectionReferenceMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.record.UnmarshalRecord,XMLField,XMLRecord>
-
setUsesSingleNode
public void setUsesSingleNode(boolean useSingleNode)
- Specified by:
setUsesSingleNodein interfaceorg.eclipse.persistence.internal.oxm.mappings.CollectionReferenceMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.oxm.record.UnmarshalRecord,XMLField,XMLRecord>
-
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: Write the attribute value from the object to the row.- Overrides:
writeFromObjectIntoRowin classXMLObjectReferenceMapping
-
writeSingleValue
public void writeSingleValue(java.lang.Object value, java.lang.Object parent, XMLRecord row, org.eclipse.persistence.internal.sessions.AbstractSession session)Description copied from interface:XMLMappingINTERNAL: A method that marshals a single value to the provided Record based on this mapping's XPath. Used for Sequenced marshalling.- Specified by:
writeSingleValuein interfaceorg.eclipse.persistence.internal.oxm.mappings.Mapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLRecord>- Specified by:
writeSingleValuein interfaceXMLMapping- Overrides:
writeSingleValuein classXMLObjectReferenceMapping- Parameters:
value- - The value to be marshalledrow- - The Record the value is being marshalled too.
-
isCollectionMapping
public boolean isCollectionMapping()
Description copied from class:DatabaseMappingINTERNAL: Related mapping should implement this method to return true.- Specified by:
isCollectionMappingin interfaceorg.eclipse.persistence.internal.oxm.mappings.Mapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLRecord>- Overrides:
isCollectionMappingin classDatabaseMapping
-
getReuseContainer
public boolean getReuseContainer()
Return true if the original container on the object should be used if present. If it is not present then the container policy will be used to create the container.- Specified by:
getReuseContainerin interfaceorg.eclipse.persistence.internal.oxm.mappings.XMLContainerMapping
-
setReuseContainer
public void setReuseContainer(boolean reuseContainer)
Specify whether the original container on the object should be used if present. If it is not present then the container policy will be used to create the container.- Specified by:
setReuseContainerin interfaceorg.eclipse.persistence.internal.oxm.mappings.XMLContainerMapping
-
isDefaultEmptyContainer
public boolean isDefaultEmptyContainer()
INTERNAL Return true if an empty container should be set on the object if there is no presence of the collection in the XML document.- Specified by:
isDefaultEmptyContainerin interfaceorg.eclipse.persistence.internal.oxm.mappings.XMLContainerMapping- Since:
- EclipseLink 2.3.3
-
setDefaultEmptyContainer
public void setDefaultEmptyContainer(boolean defaultEmptyContainer)
INTERNAL Indicate whether by default an empty container should be set on the field/property if the collection is not present in the XML document.- Specified by:
setDefaultEmptyContainerin interfaceorg.eclipse.persistence.internal.oxm.mappings.XMLContainerMapping- Since:
- EclipseLink 2.3.3
-
getWrapperNullPolicy
public AbstractNullPolicy getWrapperNullPolicy()
- Specified by:
getWrapperNullPolicyin interfaceorg.eclipse.persistence.internal.oxm.mappings.XMLContainerMapping
-
setWrapperNullPolicy
public void setWrapperNullPolicy(AbstractNullPolicy policy)
- Specified by:
setWrapperNullPolicyin interfaceorg.eclipse.persistence.internal.oxm.mappings.XMLContainerMapping
-
-