public class XMLBinaryDataCollectionMapping extends XMLCompositeDirectCollectionMapping implements org.eclipse.persistence.internal.oxm.mappings.BinaryDataCollectionMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,MimeTypePolicy,Session,XMLUnmarshaller,XMLRecord>
Purpose:Provide a mapping for a collection of binary data values that can be treated as either inline binary values or as an attachment.
Responsibilities:
XMLBinaryDataCollectionMapping represents a mapping of a collection of binary data in the object model to XML. This can either be written directly as inline binary data (base64) or passed through as an MTOM or SWAREF attachment.
The following types are allowable to be mapped using an XMLBinaryDataMapping:
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
node for the binary mapping. The XPath is specified on the mapping using the setXPath
method.
Inline Binary Data: Set this flag if you want to always inline binary data for this mapping. This will disable consideration for attachment handling for this mapping.
SwaRef: Set this flag in order to specify that the target node of this mapping is of type xs:swaref
XMLAttachmentMarshaller
,
XMLAttachmentUnmarshaller
,
MimeTypePolicy
,
Serialized FormDatabaseMapping.WriteType
nullValue, reuseContainer
elementDataTypeName, field, valueConverter
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 and Description |
---|
XMLBinaryDataCollectionMapping() |
Modifier and Type | Method and Description |
---|---|
java.lang.Class |
getAttributeElementClass()
PUBLIC:
Return the class each element in the object's
collection should be converted to, before the collection
is inserted into the object.
|
java.lang.Class |
getCollectionContentType() |
java.lang.String |
getMimeType()
INTERNAL
|
java.lang.String |
getMimeType(java.lang.Object anObject)
INTERNAL
|
MimeTypePolicy |
getMimeTypePolicy() |
java.lang.Object |
getValueToWrite(java.lang.Object value,
java.lang.Object parent,
XMLRecord record,
XMLField field,
XMLField includeField,
org.eclipse.persistence.internal.sessions.AbstractSession session) |
boolean |
isAbstractCompositeDirectCollectionMapping()
INTERNAL:
|
boolean |
isSwaRef() |
void |
setAttributeElementClass(java.lang.Class attributeElementClass)
PUBLIC:
Set the class each element in the object's
collection should be converted to, before the collection
is inserted into the object.
|
void |
setCollectionContentType(java.lang.Class javaClass) |
void |
setMimeType(java.lang.String mimeTypeString)
Force mapping to set default FixedMimeTypePolicy using the MimeType string as argument
|
void |
setMimeTypePolicy(MimeTypePolicy mimeTypePolicy)
Allow implementer to set the MimeTypePolicy class FixedMimeTypePolicy or AttributeMimeTypePolicy (dynamic)
|
void |
setShouldInlineBinaryData(boolean b) |
void |
setSwaRef(boolean swaRef) |
void |
setXPath(java.lang.String xpathString)
Set the Mapping field name attribute to the given XPath String
|
boolean |
shouldInlineBinaryData() |
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:
Build the nested collection from the database 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:
|
void |
writeSingleValue(java.lang.Object value,
java.lang.Object parent,
XMLRecord record,
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.
|
convertDataValueToObjectValue, convertObjectValueToDataValue, getNullPolicy, getNullValue, getReuseContainer, getWrapperNullPolicy, getXPath, initialize, isCDATA, isCollapsingStringValues, isDefaultEmptyContainer, isNormalizingStringValues, isWriteOnly, isXMLMapping, preInitialize, setAttributeValueInObject, setCollapsingStringValues, setDefaultEmptyContainer, setIsCDATA, setIsWriteOnly, setNormalizingStringValues, setNullPolicy, setNullValue, setReuseContainer, setWrapperNullPolicy, useCollectionClassName
buildAddedElementFromChangeSet, buildBackupClone, buildChangeSet, buildClone, buildCloneFromRow, buildClonePart, buildCopy, buildElementFromChangeSet, buildElementFromElement, buildRemovedElementFromChangeSet, cascadePerformRemoveIfRequired, cascadeRegisterNewIfRequired, collectFields, compareElements, compareElementsForChange, compareForChange, compareObjects, convertClassNamesToClasses, convertToChangeRecord, createMapComponentFromRow, fixObjectReferences, getContainerPolicy, getField, getFieldClassification, getFieldElementClass, getFieldName, getRealCollectionAttributeValueFromObject, getValueConverter, hasValueConverter, isCollectionMapping, iterate, mapKeyHasChanged, mergeChangesIntoObject, mergeIntoObject, setAttributeElementClassName, setContainerPolicy, setField, setFieldElementClass, setUsesSingleNode, setValueConverter, simpleAddToCollectionChangeRecord, simpleRemoveFromCollectionChangeRecord, useCollectionClass, useListClassName, useMapClass, useMapClassName, usesSingleNode, writeFromObjectIntoRowForUpdate, writeFromObjectIntoRowWithChangeRecord, writeInsertFieldsIntoRow
addUnconvertedProperty, buildBackupCloneForPartObject, buildChangeRecord, buildCloneForPartObject, buildContainerClone, buildExpression, buildObjectJoinExpression, buildObjectJoinExpression, buildShallowOriginalFromRow, calculateDeferredChanges, cascadeDiscoverAndPersistUnregisteredNewObjects, cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired, clone, cloneFields, collectQueryParameters, convertConverterClassNamesToClasses, createCloneValueHolder, derivesId, earlyPreDelete, extractNestedExpressions, fixRealObjectReferences, getAttributeAccessor, getAttributeClassification, getAttributeName, getAttributeValueFromObject, getDerivedIdMapping, getDescriptor, getFields, getGetMethodName, getMapsIdValue, getObjectCorrespondingTo, getOrderByNormalizedExpressions, getProperties, getProperty, getRealAttributeValueFromAttribute, getRealAttributeValueFromObject, getReferenceDescriptor, getRelationshipPartner, getSelectFields, getSelectTables, getSetMethodName, getUnconvertedProperties, getValueFromRemoteValueHolder, getWeight, hasConstraintDependency, hasDependency, hasInverseConstraintDependency, hasMapsIdValue, hasNestedIdentityReference, hasRootExpressionThatShouldUseOuterJoin, hasUnconvertedProperties, instantiateAttribute, isAbstractColumnMapping, isAbstractCompositeCollectionMapping, isAbstractCompositeObjectMapping, isAbstractDirectMapping, isAggregateCollectionMapping, isAggregateMapping, 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, load, loadAll, performDataModificationEvent, postCalculateChanges, postCalculateChangesOnDeleted, postDelete, postInitialize, postInsert, postUpdate, preDelete, preInsert, prepareCascadeLockingPolicy, preUpdate, readFromResultSetIntoObject, readFromRowIntoObject, readOnly, readWrite, recordPrivateOwnedRemovals, rehashFieldDependancies, remoteInitialization, 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, updateChangeRecord, updateCollectionChangeRecord, validateAfterInitialization, validateBeforeInitialization, valueFromObject, valueFromResultSet, valueFromRow, verifyDelete, writeFromAttributeIntoRow, writeFromObjectIntoRowForShallowInsert, writeFromObjectIntoRowForShallowInsertWithChangeRecord, writeFromObjectIntoRowForUpdateAfterShallowInsert, writeFromObjectIntoRowForUpdateBeforeShallowDelete, writeFromObjectIntoRowForWhereClause, writeUpdateFieldsIntoRow
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getNullPolicy, isWriteOnly, setField, setIsWriteOnly, setNullPolicy, setValueConverter, useCollectionClassName
convertClassNamesToClasses, getAttributeAccessor, getAttributeClassification, getAttributeName, getAttributeValueFromObject, getContainerPolicy, getDescriptor, getField, getReferenceDescriptor, isAbstractCompositeCollectionMapping, isAbstractCompositeObjectMapping, isAbstractDirectMapping, isCollectionMapping, isReadOnly, isReferenceMapping, isTransformationMapping, setAttributeAccessor, setAttributeName, setAttributeValueInObject, setGetMethodName, setIsReadOnly, setProperties, setSetMethodName
getReuseContainer, getWrapperNullPolicy, isDefaultEmptyContainer, setDefaultEmptyContainer, setReuseContainer, setWrapperNullPolicy
convertDataValueToObjectValue, convertObjectValueToDataValue
getValueConverter, setField, setFieldElementClass, setUsesSingleNode, setValueConverter, usesSingleNode
convertClassNamesToClasses
getAttributeName, setRealAttributeValueInObject
public boolean shouldInlineBinaryData()
shouldInlineBinaryData
in interface org.eclipse.persistence.internal.oxm.mappings.BinaryDataCollectionMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,MimeTypePolicy,Session,XMLUnmarshaller,XMLRecord>
public void setShouldInlineBinaryData(boolean b)
setShouldInlineBinaryData
in interface org.eclipse.persistence.internal.oxm.mappings.BinaryDataCollectionMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,MimeTypePolicy,Session,XMLUnmarshaller,XMLRecord>
public java.lang.String getMimeType(java.lang.Object anObject)
getMimeType
in interface org.eclipse.persistence.internal.oxm.mappings.BinaryDataCollectionMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,MimeTypePolicy,Session,XMLUnmarshaller,XMLRecord>
public java.lang.String getMimeType()
getMimeType
in interface org.eclipse.persistence.internal.oxm.mappings.BinaryDataCollectionMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,MimeTypePolicy,Session,XMLUnmarshaller,XMLRecord>
public MimeTypePolicy getMimeTypePolicy()
getMimeTypePolicy
in interface org.eclipse.persistence.internal.oxm.mappings.BinaryDataCollectionMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,MimeTypePolicy,Session,XMLUnmarshaller,XMLRecord>
public void setMimeTypePolicy(MimeTypePolicy mimeTypePolicy)
setMimeTypePolicy
in interface org.eclipse.persistence.internal.oxm.mappings.BinaryDataCollectionMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,MimeTypePolicy,Session,XMLUnmarshaller,XMLRecord>
aPolicy
- MimeTypePolicypublic void setMimeType(java.lang.String mimeTypeString)
mimeTypeString
- public boolean isSwaRef()
isSwaRef
in interface org.eclipse.persistence.internal.oxm.mappings.BinaryDataCollectionMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,MimeTypePolicy,Session,XMLUnmarshaller,XMLRecord>
public void setSwaRef(boolean swaRef)
setSwaRef
in interface org.eclipse.persistence.internal.oxm.mappings.BinaryDataCollectionMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,MimeTypePolicy,Session,XMLUnmarshaller,XMLRecord>
public boolean isAbstractCompositeDirectCollectionMapping()
AbstractCompositeDirectCollectionMapping
isAbstractCompositeDirectCollectionMapping
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>
isAbstractCompositeDirectCollectionMapping
in class AbstractCompositeDirectCollectionMapping
public void setXPath(java.lang.String xpathString)
setXPath
in interface org.eclipse.persistence.internal.oxm.mappings.DirectCollectionMapping<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>
setXPath
in class XMLCompositeDirectCollectionMapping
xpathString
- Stringpublic void writeFromObjectIntoRow(java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.AbstractSession session, DatabaseMapping.WriteType writeType)
XMLCompositeDirectCollectionMapping
writeFromObjectIntoRow
in class XMLCompositeDirectCollectionMapping
public java.lang.Object getValueToWrite(java.lang.Object value, java.lang.Object parent, XMLRecord record, XMLField field, XMLField includeField, org.eclipse.persistence.internal.sessions.AbstractSession session)
public void writeSingleValue(java.lang.Object value, java.lang.Object parent, XMLRecord record, org.eclipse.persistence.internal.sessions.AbstractSession session)
XMLMapping
writeSingleValue
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>
writeSingleValue
in interface XMLMapping
writeSingleValue
in class XMLCompositeDirectCollectionMapping
value
- - The value to be marshalledrecord
- - The Record the value is being marshalled too.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)
XMLCompositeDirectCollectionMapping
valueFromRow
in class XMLCompositeDirectCollectionMapping
public void setCollectionContentType(java.lang.Class javaClass)
public java.lang.Class getCollectionContentType()
public void setAttributeElementClass(java.lang.Class attributeElementClass)
setAttributeElementClass
in interface org.eclipse.persistence.internal.oxm.mappings.BinaryDataCollectionMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,MimeTypePolicy,Session,XMLUnmarshaller,XMLRecord>
setAttributeElementClass
in interface org.eclipse.persistence.internal.oxm.mappings.DirectCollectionMapping<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>
setAttributeElementClass
in class AbstractCompositeDirectCollectionMapping
public java.lang.Class getAttributeElementClass()
AbstractCompositeDirectCollectionMapping
getAttributeElementClass
in interface org.eclipse.persistence.internal.oxm.mappings.BinaryDataCollectionMapping<org.eclipse.persistence.internal.sessions.AbstractSession,AttributeAccessor,org.eclipse.persistence.internal.queries.ContainerPolicy,Converter,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField,XMLMarshaller,MimeTypePolicy,Session,XMLUnmarshaller,XMLRecord>
getAttributeElementClass
in interface org.eclipse.persistence.internal.oxm.mappings.DirectCollectionMapping<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>
getAttributeElementClass
in class AbstractCompositeDirectCollectionMapping