org.eclipse.persistence.oxm.mappings
Class XMLVariableXPathCollectionMapping
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.mappings.foundation.AbstractCompositeCollectionMapping
org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping
org.eclipse.persistence.oxm.mappings.XMLVariableXPathCollectionMapping
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, org.eclipse.persistence.internal.oxm.mappings.CompositeCollectionMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,Session,UnmarshalKeepAsElementPolicy,XMLUnmarshaller,XMLRecord>, org.eclipse.persistence.internal.oxm.mappings.CompositeObjectMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,Session,UnmarshalKeepAsElementPolicy,XMLUnmarshaller,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.VariableXPathCollectionMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,Session,XMLUnmarshaller,XMLRecord>, org.eclipse.persistence.internal.oxm.mappings.VariableXPathObjectMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,Session,XMLUnmarshaller,XMLRecord>, org.eclipse.persistence.internal.oxm.mappings.XMLContainerMapping, org.eclipse.persistence.internal.oxm.mappings.XMLConverterMapping<XMLMarshaller,Session,XMLUnmarshaller>, ContainerMapping, ArrayCollectionMapping, XMLMapping, XMLNillableMapping
public class XMLVariableXPathCollectionMapping
- extends XMLCompositeCollectionMapping
- implements org.eclipse.persistence.internal.oxm.mappings.VariableXPathCollectionMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,Session,XMLUnmarshaller,XMLRecord>, XMLMapping, org.eclipse.persistence.internal.oxm.mappings.XMLContainerMapping
- See Also:
- Serialized Form
| 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 |
| Fields inherited from interface org.eclipse.persistence.internal.oxm.mappings.XMLContainerMapping |
EMPTY_CONTAINER_DEFAULT |
|
Method Summary |
protected org.eclipse.persistence.internal.sessions.AbstractRecord |
buildCompositeRow(XMLField variableField,
java.lang.Object attributeValue,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.sessions.AbstractRecord parentRow,
DatabaseMapping.WriteType writeType)
|
protected java.util.Vector |
collectFields()
Return the fields handled by the mapping. |
java.util.Vector |
getFields()
INTERNAL:
Returns a vector of all the fields this mapping represents. |
AttributeAccessor |
getVariableAttributeAccessor()
|
java.lang.String |
getVariableAttributeName()
|
java.lang.String |
getVariableGetMethodName()
|
java.lang.String |
getVariableSetMethodName()
|
org.eclipse.persistence.internal.oxm.XPathFragment |
getXPathFragmentForValue(java.lang.Object obj,
org.eclipse.persistence.internal.oxm.NamespaceResolver nr,
boolean isNamespaceAware,
char sep)
|
void |
initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
The mapping is initialized with the given session. |
protected void |
initializeMapContainerPolicy(org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.queries.MapContainerPolicy cp)
|
protected void |
initializeReferenceDescriptorAndField(org.eclipse.persistence.internal.sessions.AbstractSession session)
|
boolean |
isAbstractCompositeCollectionMapping()
INTERNAL: |
boolean |
isAttribute()
|
void |
setAttribute(boolean isAttribute)
|
void |
setVariableAttributeAccessor(AttributeAccessor variableAttributeAccessor)
|
void |
setVariableAttributeName(java.lang.String variableAttributeName)
|
void |
setVariableGetMethodName(java.lang.String variableGetMethodName)
|
void |
setVariableSetMethodName(java.lang.String variableSetMethodName)
|
void |
useMapClass(java.lang.String concreteContainerClassName)
|
void |
useMapClassName(java.lang.String concreteContainerClassName,
java.lang.String methodName)
PUBLIC:
Configure the mapping to use an instance of the specified container class
to hold the target objects. |
void |
writeFromObjectIntoRow(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session,
DatabaseMapping.WriteType writeType)
INTERNAL: |
| Methods inherited from class org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping |
buildCompositeObject, buildCompositeRow, buildCompositeRowForDescriptor, buildObjectFromNestedRow, convertClassNamesToClasses, convertDataValueToObjectValue, convertObjectValueToDataValue, getContainerAccessor, getContainerAttributeName, getContainerGetMethodName, getContainerSetMethodName, getDescriptor, getInverseReferenceMapping, getKeepAsElementPolicy, getNullPolicy, getReferenceDescriptor, getReferenceDescriptor, getReuseContainer, getWrapperNullPolicy, getXPath, isDefaultEmptyContainer, isWriteOnly, isXMLMapping, preInitialize, setAttributeValueInObject, setContainerAccessor, setContainerAttributeName, setContainerGetMethodName, setContainerSetMethodName, setDefaultEmptyContainer, setIsWriteOnly, setKeepAsElementPolicy, setNullPolicy, setReuseContainer, setWrapperNullPolicy, setXPath, valueFromRow, writeSingleValue |
| Methods inherited from class org.eclipse.persistence.mappings.foundation.AbstractCompositeCollectionMapping |
buildAddedElementFromChangeSet, buildBackupClonePart, buildChangeSet, buildClonePart, buildCopyOfAttributeValue, buildElementFromChangeSet, buildElementFromElement, buildExpression, buildRemovedElementFromChangeSet, cascadeDiscoverAndPersistUnregisteredNewObjects, cascadePerformRemoveIfRequired, cascadeRegisterNewIfRequired, compareElements, compareElementsForChange, compareForChange, compareObjects, convertToChangeRecord, createMapComponentFromRow, fixAttributeValue, getAttributeValueFromBackupClone, getContainerPolicy, getConverter, getField, getRealCollectionAttributeValueFromObject, getStructureName, hasConverter, isCollectionMapping, iterateOnAttributeValue, mapKeyHasChanged, mergeChangesIntoObject, mergeIntoObject, postDeleteAttributeValue, postInsertAttributeValue, postUpdateAttributeValue, preDeleteAttributeValue, preInsertAttributeValue, preUpdateAttributeValue, setContainerPolicy, setConverter, setField, simpleAddToCollectionChangeRecord, simpleRemoveFromCollectionChangeRecord, useCollectionClass, useCollectionClassName, useListClassName, useMapClass, verifyDeleteOfAttributeValue, writeFromObjectIntoRowForUpdate, writeFromObjectIntoRowWithChangeRecord, writeInsertFieldsIntoRow |
| Methods inherited from class org.eclipse.persistence.mappings.AggregateMapping |
buildAggregateDeleteQuery, buildAggregateModifyQuery, buildAggregateWriteQuery, buildBackupClone, buildClone, buildCloneFromRow, buildClonePart, buildCopy, buildNewMergeInstanceOf, compareAttributeValues, executeEvent, fixObjectReferences, getObjectBuilder, getObjectBuilderForClass, getQueryManager, getReferenceClass, getReferenceClassName, getReferenceDescriptor, getReferenceDescriptor, hasNestedIdentityReference, isAggregateMapping, iterate, load, loadAll, mergeAttributeValue, postDelete, postInsert, postUpdate, preDelete, preInsert, preUpdate, remoteInitialization, setReferenceClass, setReferenceClassName, setReferenceDescriptor, updateChangeRecord, verifyDelete |
| Methods inherited from class org.eclipse.persistence.mappings.DatabaseMapping |
addUnconvertedProperty, buildBackupCloneForPartObject, buildChangeRecord, buildCloneForPartObject, buildContainerClone, buildObjectJoinExpression, buildObjectJoinExpression, buildShallowOriginalFromRow, calculateDeferredChanges, cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired, clone, cloneFields, collectQueryParameters, convertConverterClassNamesToClasses, createCloneValueHolder, derivesId, earlyPreDelete, extractNestedExpressions, fixRealObjectReferences, getAttributeAccessor, getAttributeClassification, getAttributeName, getAttributeValueFromObject, getDerivedIdMapping, getDescriptor, getFieldClassification, getGetMethodName, getMapsIdValue, getObjectCorrespondingTo, getOrderByNormalizedExpressions, getProperties, getProperty, getRealAttributeValueFromAttribute, getRealAttributeValueFromObject, getRelationshipPartner, getSelectFields, getSelectTables, getSetMethodName, getUnconvertedProperties, getValueFromRemoteValueHolder, getWeight, hasConstraintDependency, hasDependency, hasInverseConstraintDependency, hasMapsIdValue, hasRootExpressionThatShouldUseOuterJoin, hasUnconvertedProperties, instantiateAttribute, isAbstractColumnMapping, 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, isObjectReferenceMapping, 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, readFromRowIntoObject, 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, toString, updateCollectionChangeRecord, validateAfterInitialization, validateBeforeInitialization, valueFromObject, valueFromResultSet, valueFromRow, writeFromAttributeIntoRow, writeFromObjectIntoRowForShallowInsert, writeFromObjectIntoRowForShallowInsertWithChangeRecord, writeFromObjectIntoRowForUpdateAfterShallowInsert, writeFromObjectIntoRowForUpdateBeforeShallowDelete, writeFromObjectIntoRowForWhereClause, 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.VariableXPathObjectMapping |
setConverter, setIsWriteOnly, setReferenceClassName |
| Methods inherited from interface org.eclipse.persistence.internal.oxm.mappings.Mapping |
convertClassNamesToClasses, getAttributeAccessor, getAttributeClassification, getAttributeName, getAttributeValueFromObject, getContainerPolicy, getDescriptor, getField, getReferenceDescriptor, isAbstractCompositeDirectCollectionMapping, isAbstractCompositeObjectMapping, isAbstractDirectMapping, isCollectionMapping, isReadOnly, isReferenceMapping, isTransformationMapping, setAttributeAccessor, setAttributeName, setAttributeValueInObject, setGetMethodName, setIsReadOnly, setProperties, setSetMethodName, writeSingleValue |
| Methods inherited from interface org.eclipse.persistence.internal.oxm.mappings.XMLConverterMapping |
convertDataValueToObjectValue, convertObjectValueToDataValue |
| Methods inherited from interface org.eclipse.persistence.internal.oxm.mappings.XMLContainerMapping |
getReuseContainer, getWrapperNullPolicy, isDefaultEmptyContainer, setDefaultEmptyContainer, setReuseContainer, setWrapperNullPolicy |
| Methods inherited from interface org.eclipse.persistence.internal.oxm.mappings.CompositeCollectionMapping |
useCollectionClass, useCollectionClassName |
| Methods inherited from interface org.eclipse.persistence.internal.oxm.mappings.CompositeObjectMapping |
getReferenceClass, getReferenceClassName, hasConverter, setConverter, setField, setReferenceClass, setReferenceClassName |
variableAttributeName
protected java.lang.String variableAttributeName
variableGetMethodName
protected java.lang.String variableGetMethodName
variableSetMethodName
protected java.lang.String variableSetMethodName
XMLVariableXPathCollectionMapping
public XMLVariableXPathCollectionMapping()
initialize
public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
- Description copied from class:
XMLCompositeCollectionMapping
- INTERNAL:
The mapping is initialized with the given session. This mapping is fully initialized
after this.
- Overrides:
initialize in class XMLCompositeCollectionMapping
- Throws:
DescriptorException
useMapClass
public void useMapClass(java.lang.String concreteContainerClassName)
initializeMapContainerPolicy
protected void initializeMapContainerPolicy(org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.queries.MapContainerPolicy cp)
- Overrides:
initializeMapContainerPolicy in class XMLCompositeCollectionMapping
collectFields
protected java.util.Vector collectFields()
- Description copied from class:
AbstractCompositeCollectionMapping
- Return the fields handled by the mapping.
- Overrides:
collectFields in class AbstractCompositeCollectionMapping
getFields
public java.util.Vector getFields()
- Description copied from class:
DatabaseMapping
- INTERNAL:
Returns a vector of all the fields this mapping represents.
- Overrides:
getFields in class DatabaseMapping
initializeReferenceDescriptorAndField
protected void initializeReferenceDescriptorAndField(org.eclipse.persistence.internal.sessions.AbstractSession session)
- Overrides:
initializeReferenceDescriptorAndField in class XMLCompositeCollectionMapping
isAbstractCompositeCollectionMapping
public boolean isAbstractCompositeCollectionMapping()
- Description copied from class:
AbstractCompositeCollectionMapping
- INTERNAL:
- Specified by:
isAbstractCompositeCollectionMapping in interface 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>- Overrides:
isAbstractCompositeCollectionMapping in class AbstractCompositeCollectionMapping
getVariableAttributeName
public java.lang.String getVariableAttributeName()
setVariableAttributeName
public void setVariableAttributeName(java.lang.String variableAttributeName)
- Specified by:
setVariableAttributeName in interface org.eclipse.persistence.internal.oxm.mappings.VariableXPathObjectMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,Session,XMLUnmarshaller,XMLRecord>
getVariableGetMethodName
public java.lang.String getVariableGetMethodName()
setVariableGetMethodName
public void setVariableGetMethodName(java.lang.String variableGetMethodName)
- Specified by:
setVariableGetMethodName in interface org.eclipse.persistence.internal.oxm.mappings.VariableXPathObjectMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,Session,XMLUnmarshaller,XMLRecord>
getVariableSetMethodName
public java.lang.String getVariableSetMethodName()
setVariableSetMethodName
public void setVariableSetMethodName(java.lang.String variableSetMethodName)
- Specified by:
setVariableSetMethodName in interface org.eclipse.persistence.internal.oxm.mappings.VariableXPathObjectMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,Session,XMLUnmarshaller,XMLRecord>
getVariableAttributeAccessor
public AttributeAccessor getVariableAttributeAccessor()
- Specified by:
getVariableAttributeAccessor in interface org.eclipse.persistence.internal.oxm.mappings.VariableXPathObjectMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,Session,XMLUnmarshaller,XMLRecord>
setVariableAttributeAccessor
public void setVariableAttributeAccessor(AttributeAccessor variableAttributeAccessor)
- Specified by:
setVariableAttributeAccessor in interface org.eclipse.persistence.internal.oxm.mappings.VariableXPathObjectMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,Session,XMLUnmarshaller,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)
throws DescriptorException
- Description copied from class:
XMLCompositeCollectionMapping
- INTERNAL:
- Overrides:
writeFromObjectIntoRow in class XMLCompositeCollectionMapping
- Throws:
DescriptorException
buildCompositeRow
protected org.eclipse.persistence.internal.sessions.AbstractRecord buildCompositeRow(XMLField variableField,
java.lang.Object attributeValue,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.sessions.AbstractRecord parentRow,
DatabaseMapping.WriteType writeType)
getXPathFragmentForValue
public org.eclipse.persistence.internal.oxm.XPathFragment getXPathFragmentForValue(java.lang.Object obj,
org.eclipse.persistence.internal.oxm.NamespaceResolver nr,
boolean isNamespaceAware,
char sep)
- Specified by:
getXPathFragmentForValue in interface org.eclipse.persistence.internal.oxm.mappings.VariableXPathObjectMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,Session,XMLUnmarshaller,XMLRecord>
isAttribute
public boolean isAttribute()
- Specified by:
isAttribute in interface org.eclipse.persistence.internal.oxm.mappings.VariableXPathObjectMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,Session,XMLUnmarshaller,XMLRecord>
setAttribute
public void setAttribute(boolean isAttribute)
- Specified by:
setAttribute in interface org.eclipse.persistence.internal.oxm.mappings.VariableXPathObjectMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,Session,XMLUnmarshaller,XMLRecord>
useMapClassName
public void useMapClassName(java.lang.String concreteContainerClassName,
java.lang.String methodName)
- Description copied from interface:
ContainerMapping
- PUBLIC:
Configure the mapping to use an instance of the specified container class
to hold the target objects. The key used to index a 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 any
value to be inserted into the Map.
The container class must implement (directly or indirectly) the
java.util.Map interface.
To facilitate resolving the method, the mapping's referenceClass
must set before calling this method.
- Specified by:
useMapClassName in interface ContainerMapping- Overrides:
useMapClassName in class AbstractCompositeCollectionMapping