Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle TopLink
11g Release 1 (11.1.1)

E28847-01


org.eclipse.persistence.oxm
Class XMLDescriptor

java.lang.Object
  extended by org.eclipse.persistence.descriptors.ClassDescriptor
      extended by org.eclipse.persistence.oxm.XMLDescriptor

All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class XMLDescriptor
extends ClassDescriptor

Use an XML project for nontransactional, nonpersistent (in-memory) conversions between Java objects and XML documents. An XMLDescriptor is a set of mappings that describe how an objects's data is to be represented in an XML document. XML descriptors describe Java objects that you map to simple and complex types defined by an XML schema document (XSD). Using XML descriptors in an EclipseLink XML project, you can configure XML mappings.

See Also:
org.eclipse.persistence.oxm.mappings, Serialized Form

Field Summary
private  XMLField defaultRootElementField
           
private static java.util.Vector EMPTY_VECTOR
           
private  boolean isWrapper
           
private  boolean lazilyInitialized
           
private  NamespaceResolver namespaceResolver
           
private  boolean resultAlwaysXMLRoot
           
private  XMLSchemaReference schemaReference
           
private  boolean sequencedObject
           
private  boolean shouldPreserveDocument
           

 

Fields inherited from class org.eclipse.persistence.descriptors.ClassDescriptor
additionalAggregateCollectionKeyFields, additionalTablePrimaryKeyFields, additionalWritableMapKeyFields, AGGREGATE, AGGREGATE_COLLECTION, alias, allFields, amendmentClass, amendmentClassName, amendmentMethodName, cacheInterceptorClass, cacheInterceptorClassName, cacheInvalidationPolicy, cacheIsolation, cacheKeyType, cacheSynchronizationType, cascadedLockingInitialized, cascadeLockingPolicies, changePolicy, cmpPolicy, constraintDependencies, copyPolicy, copyPolicyClassName, defaultDeleteObjectQueryRedirector, defaultDeleteObjectQueryRedirectorClassName, defaultInsertObjectQueryRedirector, defaultInsertObjectQueryRedirectorClassName, defaultQueryRedirector, defaultQueryRedirectorClassName, defaultReadAllQueryRedirector, defaultReadAllQueryRedirectorClassName, defaultReadObjectQueryRedirector, defaultReadObjectQueryRedirectorClassName, defaultReportQueryRedirector, defaultReportQueryRedirectorClassName, defaultTable, defaultUpdateObjectQueryRedirector, defaultUpdateObjectQueryRedirectorClassName, derivesIdMappings, descriptorType, DO_NOT_SEND_CHANGES, ERROR, eventManager, fetchGroupManager, fields, foreignKeyValuesForCaching, fullyMergeEntity, hasMultipleTableConstraintDependecy, hasNoncacheableMappings, hasRelationships, hasSimplePrimaryKey, historyPolicy, identityMapClass, identityMapSize, idValidation, inheritancePolicy, initializationStage, INITIALIZED, instantiationPolicy, INTERFACE, interfaceInitializationStage, interfacePolicy, INVALIDATE_CHANGED_OBJECTS, isCascadeOnDeleteSetOnDatabaseOnSecondaryTables, isNativeConnectionRequired, ISOLATE_CACHE_AFTER_TRANSACTION, ISOLATE_CACHE_ALWAYS, ISOLATE_FROM_CLIENT_SESSION, ISOLATE_NEW_DATA_AFTER_TRANSACTION, javaClass, javaClassName, lockableMappings, mappings, mappingsPostCalculateChanges, mappingsPostCalculateChangesOnDeleted, multipleTableForeignKeys, multipleTableInsertOrder, multitenantPolicy, NORMAL, objectBuilder, optimisticLockingPolicy, partitioningPolicy, partitioningPolicyName, POST_INITIALIZED, preDeleteMappings, PREINITIALIZED, primaryKeyFields, primaryKeyIdValidations, properties, queryKeys, queryManager, referencingClasses, remoteIdentityMapClass, remoteIdentityMapSize, returningPolicy, SEND_NEW_OBJECTS_WITH_CHANGES, SEND_OBJECT_CHANGES, sequence, sequenceNumberField, sequenceNumberName, sessionName, shouldAcquireCascadedLocks, shouldAlwaysConformResultsInUnitOfWork, shouldAlwaysRefreshCache, shouldAlwaysRefreshCacheOnRemote, shouldBeReadOnly, shouldDisableCacheHits, shouldDisableCacheHitsOnRemote, shouldOnlyRefreshCacheIfNewerVersion, shouldOrderMappings, shouldRegisterResultsInUnitOfWork, shouldUseFullChangeSetsForNewObjects, tables, UNDEFINED_ISOLATATION, UNDEFINED_OBJECT_CHANGE_BEHAVIOR, UNINITIALIZED, unitOfWorkCacheIsolationLevel, USE_SESSION_CACHE_AFTER_TRANSACTION, wasDefaultUnitOfWorkCacheIsolationLevel, wrapperPolicy

 

Constructor Summary
XMLDescriptor()
          PUBLIC: Return a new XMLDescriptor.

 

Method Summary
 DatabaseMapping addDirectMapping(java.lang.String attributeName, java.lang.String xpathString)
          PUBLIC: Add a direct mapping to the receiver.
 DatabaseMapping addDirectMapping(java.lang.String attributeName, java.lang.String getMethodName, java.lang.String setMethodName, java.lang.String xpathString)
          PUBLIC: Add a direct to node mapping to the receiver.
 void addPrimaryKeyField(org.eclipse.persistence.internal.helper.DatabaseField field)
          ADVANCED: Specify the primary key field of the descriptors table.
 void addPrimaryKeyFieldName(java.lang.String fieldName)
          PUBLIC: Specify the primary key field of the descriptors table.
 void addRootElement(java.lang.String rootElementName)
          PUBLIC: Add a root element name for the Descriptor This value is stored in place of a table name
 java.util.Vector buildDirectValuesFromFieldValue(java.lang.Object fieldValue)
          INTERNAL: Extract the direct values from the specified field value.
 org.eclipse.persistence.internal.helper.DatabaseField buildField(org.eclipse.persistence.internal.helper.DatabaseField field)
          INTERNAL: This is used only in initialization.
 org.eclipse.persistence.internal.helper.DatabaseField buildField(java.lang.String fieldName)
          INTERNAL: A DatabaseField is built from the given field name.
 java.lang.Object buildFieldValueFromDirectValues(java.util.Vector directValues, java.lang.String elementDataTypeName, org.eclipse.persistence.internal.sessions.AbstractSession session)
          INTERNAL: Build the appropriate field value for the specified set of direct values.
 java.lang.Object buildFieldValueFromNestedRows(java.util.Vector nestedRows, java.lang.String structureName, org.eclipse.persistence.internal.sessions.AbstractSession session)
          INTERNAL: Build and return the appropriate field value for the specified set of nested rows.
 org.eclipse.persistence.internal.sessions.AbstractRecord buildNestedRowFromFieldValue(java.lang.Object fieldValue)
          INTERNAL: Build(if necessary) and return the nested XMLRecord from the specified field value.
 java.util.Vector buildNestedRowsFromFieldValue(java.lang.Object fieldValue, org.eclipse.persistence.internal.sessions.AbstractSession session)
          INTERNAL: Build(if necessary) and return a Vector of the nested XMLRecords from the specified field value.
protected  org.eclipse.persistence.internal.helper.DatabaseTable extractDefaultTable()
          Aggregates use a dummy table as default.
 java.lang.String getDefaultRootElement()
          PUBLIC: Return the default root element name for the ClassDescriptor This value is stored in place of a table name This value is mandatory for all root objects
 XMLField getDefaultRootElementField()
           
 javax.xml.namespace.QName getDefaultRootElementType()
           
 InheritancePolicy getInheritancePolicy()
          PUBLIC: The inheritance policy is used to define how a descriptor takes part in inheritance.
 NamespaceResolver getNamespaceResolver()
          PUBLIC: Return the NamespaceResolver associated with this descriptor
 NamespaceResolver getNonNullNamespaceResolver()
           
 java.util.Vector<java.lang.String> getPrimaryKeyFieldNames()
          PUBLIC: Return the names of all the primary keys.
 XMLSchemaReference getSchemaReference()
          PUBLIC: Return the SchemaReference associated with this descriptor
 org.eclipse.persistence.internal.helper.DatabaseField getTypedField(org.eclipse.persistence.internal.helper.DatabaseField field)
          INTERNAL: searches first descriptor than its ReturningPolicy for an equal field
protected  org.eclipse.persistence.internal.helper.DatabaseField getTypedField(java.util.StringTokenizer stringTokenizer)
           
 void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
          INTERNAL: Initialize the mappings as a separate step.
 void initializeAggregateInheritancePolicy(org.eclipse.persistence.internal.sessions.AbstractSession session)
          INTERNAL: This is needed by regular aggregate descriptors (because they require review); but not by XML aggregate descriptors.
 boolean isLazilyInitialized()
          If true, the descriptor may be lazily initialized.
 boolean isResultAlwaysXMLRoot()
           
 boolean isSequencedObject()
          INTERNAL: Indicates if the Object mapped by this descriptor is a sequenced data object and should be marshalled accordingly.
 boolean isWrapper()
           
 void postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
          INTERNAL: Post initializations after mappings are initialized.
 void preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
          INTERNAL: Allow the descriptor to initialize any dependencies on this session.
protected  void preInitializeInheritancePolicy(org.eclipse.persistence.internal.sessions.AbstractSession session)
          Hook together the inheritance policy tree.
 boolean requiresInitialization()
          INTERNAL: XML descriptors are initialized normally, since they do not need to be cloned by XML aggregate mappings.
 void setDefaultRootElement(java.lang.String newDefaultRootElement)
          PUBLIC: Return the default root element name for the ClassDescriptor This value is stored in place of a table name This value is mandatory for all root objects
private  boolean setDefaultRootElementField(java.lang.String newDefaultRootElement)
           
 void setDefaultRootElementField(XMLField xmlField)
           
 void setDefaultRootElementType(javax.xml.namespace.QName type)
          The default root element type string will be stored until initialization - a QName will be created and stored on the default root element field during initialize.
 void setIsWrapper(boolean value)
           
 void setLazilyInitialized(boolean shouldLazyInitiailize)
          Specify in the descriptor may be lazily initialized.
 void setNamespaceResolver(NamespaceResolver newNamespaceResolver)
          PUBLIC: Set the NamespaceResolver to associate with this descriptor
 void setPrimaryKeyFields(java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> thePrimaryKeyFields)
          INTERNAL: Set the primary key fields
 void setResultAlwaysXMLRoot(boolean resultAlwaysXMLRoot)
           
 void setSchemaReference(XMLSchemaReference newSchemaReference)
          PUBLIC: Set the SchemaReference to associate with this descriptor
 void setSequencedObject(boolean isSequenced)
           
 void setShouldPreserveDocument(boolean shouldPreserveDocument)
          PUBLIC: Specifies that object built from this descriptor should retain any unmapped information from their original XML Document when being written back out.
 void setTableNames(java.util.Vector tableNames)
          PUBLIC: Specify the all table names for the class of objects the receiver describes.
 void setTables(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseTable> theTables)
          INTERNAL: Sets the tables
 boolean shouldPreserveDocument()
          PUBLIC: Return if unmapped information from the XML document should be maintained for this descriptor By default unmapped data is not preserved.
 boolean shouldWrapObject(java.lang.Object object, java.lang.String elementNamespaceUri, java.lang.String elementLocalName, java.lang.String elementPrefix)
           
protected  void validateMappingType(DatabaseMapping mapping)
           
 java.lang.Object wrapObjectInXMLRoot(java.lang.Object object, java.lang.String elementNamespaceUri, java.lang.String elementLocalName, java.lang.String elementPrefix, boolean forceWrap)
          INTERNAL: Determines the appropriate object to return from the unmarshal call.
 java.lang.Object wrapObjectInXMLRoot(java.lang.Object object, java.lang.String elementNamespaceUri, java.lang.String elementLocalName, java.lang.String elementPrefix, java.lang.String encoding, java.lang.String version, boolean forceWrap)
           
 java.lang.Object wrapObjectInXMLRoot(UnmarshalRecord unmarshalRecord, boolean forceWrap)
          INTERNAL: Determines the appropriate object to return from the unmarshal call.

 

Methods inherited from class org.eclipse.persistence.descriptors.ClassDescriptor
addAbstractQueryKey, addCascadeLockingPolicy, addConstraintDependencies, addConstraintDependency, addDirectQueryKey, addForeignKeyFieldForMultipleTable, addForeignKeyFieldNameForMultipleTable, addMapping, addMappingsPostCalculateChanges, addMappingsPostCalculateChangesOnDeleted, addPreDeleteMapping, addQueryKey, addTable, addTableName, adjustMultipleTableInsertOrder, alwaysConformResultsInUnitOfWork, alwaysRefreshCache, alwaysRefreshCacheOnRemote, applyAmendmentMethod, applyAmendmentMethod, arePrimaryKeyFields, assignDefaultValues, buildBatchCriteriaByPK, buildCallFromStatement, buildField, buildFieldValueFromForeignKeys, buildFieldValueFromNestedRow, checkDatabase, checkInheritanceTreeAggregateSettings, clone, convertClassNamesToClasses, createCopyPolicy, createInstantiationPolicy, createMultipleTableInsertOrder, createMultipleTableInsertOrderFromComparison, createTableComparison, createTableOrder, descriptorIsAggregate, descriptorIsAggregateCollection, descriptorIsForInterface, descriptorIsNormal, disableCacheHits, disableCacheHitsOnRemote, dontAlwaysConformResultsInUnitOfWork, dontAlwaysRefreshCache, dontAlwaysRefreshCacheOnRemote, dontDisableCacheHits, dontDisableCacheHitsOnRemote, dontOnlyRefreshCacheIfNewerVersion, getAdditionalAggregateCollectionKeyFields, getAdditionalTablePrimaryKeyFields, getAdditionalWritableMapKeyFields, getAlias, getAllFields, getAmendmentClass, getAmendmentClassName, getAmendmentMethodName, getCacheInterceptorClass, getCacheInterceptorClassName, getCacheInvalidationPolicy, getCacheIsolation, getCacheKeyType, getCacheSynchronizationType, getCascadeLockingPolicies, getCMPPolicy, getConstraintDependencies, getCopyPolicy, getCopyPolicyClassName, getDefaultDeleteObjectQueryRedirector, getDefaultFetchGroup, getDefaultInsertObjectQueryRedirector, getDefaultQueryRedirector, getDefaultReadAllQueryRedirector, getDefaultReadObjectQueryRedirector, getDefaultReportQueryRedirector, getDefaultTable, getDefaultUpdateObjectQueryRedirector, getDerivesIdMappinps, getDescriptorEventManager, getDescriptorInheritancePolicy, getDescriptorQueryManager, getDescriptorType, getDescriptorTypeValue, getEventManager, getFetchGroupManager, getFields, getForeignKeyValuesForCaching, getFullyMergeEntity, getHistoryPolicy, getIdentityMapClass, getIdentityMapSize, getIdValidation, getInheritancePolicyOrNull, getInstantiationPolicy, getInterfacePolicy, getInterfacePolicyOrNull, getJavaClass, getJavaClassName, getLockableMappings, getMappingForAttributeName, getMappings, getMappingsPostCalculateChanges, getMappingsPostCalculateChangesOnDeleted, getMultipleTableForeignKeyAssociations, getMultipleTableForeignKeys, getMultipleTableInsertOrder, getMultipleTablePrimaryKeyAssociations, getMultitenantPolicy, getObjectBuilder, getObjectChangePolicy, getObjectChangePolicyInternal, getOptimisticLockingPolicy, getPartitioningPolicy, getPartitioningPolicyName, getPreDeleteMappings, getPrimaryKeyFields, getPrimaryKeyIdValidations, getProperties, getProperty, getQueryKeyNamed, getQueryKeys, getQueryManager, getRemoteIdentityMapClass, getRemoteIdentityMapSize, getReturningPolicy, getRootDescriptor, getSequence, getSequenceNumberField, getSequenceNumberFieldName, getSequenceNumberName, getSessionName, getTable, getTableName, getTableNames, getTablePerClassPolicy, getTables, getUnitOfWorkCacheIsolationLevel, getWrapperPolicy, hasCascadeLockingPolicies, hasCMPPolicy, hasDependencyOnParts, hasDerivedId, hasEventManager, hasFetchGroupManager, hasInheritance, hasInterfacePolicy, hasMappingsPostCalculateChanges, hasMappingsPostCalculateChangesOnDeleted, hasMultipleTableConstraintDependecy, hasMultipleTables, hasMultitenantPolicy, hasNoncacheableMappings, hasPessimisticLockingPolicy, hasPreDeleteMappings, hasPrivatelyOwnedParts, hasQueryKeyOrMapping, hasRelationships, hasRelationshipsExceptBackpointer, hasReturningPolicy, hasSimplePrimaryKey, hasTablePerClassPolicy, hasWrapperPolicy, initializeCaching, initializeMultipleTablePrimaryKeyFields, initializeProperties, interfaceInitialization, isAbstract, isAggregateCollectionDescriptor, isAggregateDescriptor, isCascadeOnDeleteSetOnDatabaseOnSecondaryTables, isChildDescriptor, isDescriptorForInterface, isDescriptorTypeAggregate, isDescriptorTypeNormal, isFullyInitialized, isInitialized, isInterfaceChildDescriptor, isInterfaceInitialized, isInvalid, isIsolated, isMultipleTableDescriptor, isNativeConnectionRequired, isObjectRelationalDataTypeDescriptor, isPrimaryKeySetAfterInsert, isProtectedIsolation, isReturnTypeRequiredForReturningPolicy, isSharedIsolation, notifyReferencingDescriptorsOfIsolation, onlyRefreshCacheIfNewerVersion, postInitializeCaching, preInterfaceInitialization, prepareCascadeLockingPolicy, rehashFieldDependancies, reInitializeJoinedAttributes, remoteInitialization, removeMappingForAttributeName, removeProperty, selfValidationAfterInitialization, selfValidationBeforeInitialization, setAdditionalTablePrimaryKeyFields, setAdditionalTablePrimaryKeyFields, setAlias, setAllFields, setAmendmentClass, setAmendmentClassName, setAmendmentMethodName, setCacheInterceptorClass, setCacheInterceptorClassName, setCacheInvalidationPolicy, setCacheIsolation, setCacheKeyType, setCacheSynchronizationType, setCMPPolicy, setConstraintDependencies, setCopyPolicy, setCopyPolicyClassName, setDefaultDeleteObjectQueryRedirector, setDefaultDeleteObjectQueryRedirectorClassName, setDefaultInsertObjectQueryRedirector, setDefaultInsertObjectQueryRedirectorClassName, setDefaultQueryRedirector, setDefaultQueryRedirectorClassName, setDefaultReadAllQueryRedirector, setDefaultReadAllQueryRedirectorClassName, setDefaultReadObjectQueryRedirector, setDefaultReadObjectQueryRedirectorClassName, setDefaultReportQueryRedirector, setDefaultReportQueryRedirectorClassName, setDefaultTable, setDefaultTableName, setDefaultUpdateObjectQueryRedirector, setDefaultUpdateObjectQueryRedirectorClassName, setDescriptorType, setDescriptorTypeValue, setEventManager, setExistenceChecking, setFetchGroupManager, setFields, setForeignKeyFieldNamesForMultipleTable, setFullyMergeEntity, setHasMultipleTableConstraintDependecy, setHasRelationships, setHasSimplePrimaryKey, setHistoryPolicy, setIdentityMapClass, setIdentityMapSize, setIdValidation, setInheritancePolicy, setInitializationStage, setInstantiationPolicy, setInterfaceInitializationStage, setInterfacePolicy, setInternalDefaultTable, setInternalDefaultTable, setIsCascadeOnDeleteSetOnDatabaseOnSecondaryTables, setIsIsolated, setIsNativeConnectionRequired, setJavaClass, setJavaClassName, setJavaInterface, setJavaInterfaceName, setLockableMappings, setMappings, setMultipleTableForeignKeys, setMultipleTableInsertOrder, setMultitenantPolicy, setObjectBuilder, setObjectChangePolicy, setOptimisticLockingPolicy, setPartitioningPolicy, setPartitioningPolicyName, setPrimaryKeyFieldName, setPrimaryKeyFieldNames, setPrimaryKeyIdValidations, setProperties, setProperty, setQueryKeys, setQueryManager, setReadOnly, setRemoteIdentityMapClass, setRemoteIdentityMapSize, setReturningPolicy, setSequence, setSequenceNumberField, setSequenceNumberFieldName, setSequenceNumberName, setSessionName, setShouldAcquireCascadedLocks, setShouldAlwaysConformResultsInUnitOfWork, setShouldAlwaysRefreshCache, setShouldAlwaysRefreshCacheOnRemote, setShouldBeReadOnly, setShouldDisableCacheHits, setShouldDisableCacheHitsOnRemote, setShouldOnlyRefreshCacheIfNewerVersion, setShouldOrderMappings, setShouldRegisterResultsInUnitOfWork, setTableName, setTablePerClassPolicy, setTableQualifier, setUnitOfWorkCacheIsolationLevel, setWrapperPolicy, shouldAcquireCascadedLocks, shouldAlwaysConformResultsInUnitOfWork, shouldAlwaysRefreshCache, shouldAlwaysRefreshCacheOnRemote, shouldBeReadOnly, shouldDisableCacheHits, shouldDisableCacheHitsOnRemote, shouldIsolateObjectsInUnitOfWork, shouldIsolateObjectsInUnitOfWorkEarlyTransaction, shouldIsolateProtectedObjectsInUnitOfWork, shouldOnlyRefreshCacheIfNewerVersion, shouldOrderMappings, shouldRegisterResultsInUnitOfWork, shouldUseAdditionalJoinExpression, shouldUseCacheIdentityMap, shouldUseFullChangeSetsForNewObjects, shouldUseFullIdentityMap, shouldUseHardCacheWeakIdentityMap, shouldUseNoIdentityMap, shouldUseRemoteCacheIdentityMap, shouldUseRemoteFullIdentityMap, shouldUseRemoteHardCacheWeakIdentityMap, shouldUseRemoteNoIdentityMap, shouldUseRemoteSoftCacheWeakIdentityMap, shouldUseRemoteSoftIdentityMap, shouldUseRemoteWeakIdentityMap, shouldUseSessionCacheInUnitOfWorkEarlyTransaction, shouldUseSoftCacheWeakIdentityMap, shouldUseSoftIdentityMap, shouldUseWeakIdentityMap, supportsChangeTracking, toggleAdditionalTablePrimaryKeyFields, toString, useAllFieldsLocking, useCacheIdentityMap, useChangedFieldsLocking, useCloneCopyPolicy, useCloneCopyPolicy, useDefaultConstructorInstantiationPolicy, useFactoryInstantiationPolicy, useFactoryInstantiationPolicy, useFactoryInstantiationPolicy, useFactoryInstantiationPolicy, useFactoryInstantiationPolicy, useFullIdentityMap, useHardCacheWeakIdentityMap, useInstantiationCopyPolicy, useMethodInstantiationPolicy, useNoIdentityMap, useRemoteCacheIdentityMap, useRemoteFullIdentityMap, useRemoteHardCacheWeakIdentityMap, useRemoteNoIdentityMap, useRemoteSoftCacheWeakIdentityMap, useRemoteSoftIdentityMap, useRemoteWeakIdentityMap, useSelectedFieldsLocking, usesFieldLocking, useSoftCacheWeakIdentityMap, useSoftIdentityMap, usesOptimisticLocking, usesSequenceNumbers, usesVersionLocking, useTimestampLocking, useTimestampLocking, useVersionLocking, useVersionLocking, useWeakIdentityMap, validateAfterInitialization, validateBeforeInitialization, verifyMultipleTableInsertOrder, verifyMultipleTablesForeignKeysTables, verifyTableQualifiers

 

Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

 

Field Detail

EMPTY_VECTOR

private static final java.util.Vector EMPTY_VECTOR

namespaceResolver

private NamespaceResolver namespaceResolver

schemaReference

private XMLSchemaReference schemaReference

shouldPreserveDocument

private boolean shouldPreserveDocument

defaultRootElementField

private XMLField defaultRootElementField

sequencedObject

private boolean sequencedObject

isWrapper

private boolean isWrapper

resultAlwaysXMLRoot

private boolean resultAlwaysXMLRoot

lazilyInitialized

private boolean lazilyInitialized

Constructor Detail

XMLDescriptor

public XMLDescriptor()
PUBLIC: Return a new XMLDescriptor.

Method Detail

getDefaultRootElement

public java.lang.String getDefaultRootElement()
PUBLIC: Return the default root element name for the ClassDescriptor This value is stored in place of a table name This value is mandatory for all root objects
Returns:
the default root element specified on this ClassDescriptor

shouldPreserveDocument

public boolean shouldPreserveDocument()
PUBLIC: Return if unmapped information from the XML document should be maintained for this descriptor By default unmapped data is not preserved.
Returns:
if this descriptor should preserve unmapped data

setShouldPreserveDocument

public void setShouldPreserveDocument(boolean shouldPreserveDocument)
PUBLIC: Specifies that object built from this descriptor should retain any unmapped information from their original XML Document when being written back out. By default unmapped data is not preserved.

addRootElement

public void addRootElement(java.lang.String rootElementName)
PUBLIC: Add a root element name for the Descriptor This value is stored in place of a table name
Parameters:
rootElementName - a root element to specify on this Descriptor

setDefaultRootElement

public void setDefaultRootElement(java.lang.String newDefaultRootElement)
PUBLIC: Return the default root element name for the ClassDescriptor This value is stored in place of a table name This value is mandatory for all root objects
Parameters:
newDefaultRootElement - the default root element to specify on this ClassDescriptor

getNamespaceResolver

public NamespaceResolver getNamespaceResolver()
PUBLIC: Return the NamespaceResolver associated with this descriptor
Returns:
the NamespaceResolver associated with this descriptor
See Also:
NamespaceResolver

getNonNullNamespaceResolver

public NamespaceResolver getNonNullNamespaceResolver()

getInheritancePolicy

public InheritancePolicy getInheritancePolicy()
PUBLIC: The inheritance policy is used to define how a descriptor takes part in inheritance. All inheritance properties for both child and parent classes is configured in inheritance policy. Caution must be used in using this method as it lazy initializes an inheritance policy. Calling this on a descriptor that does not use inheritance will cause problems, #hasInheritance() must always first be called.
Overrides:
getInheritancePolicy in class ClassDescriptor
Returns:
the InheritancePolicy associated with this descriptor

setNamespaceResolver

public void setNamespaceResolver(NamespaceResolver newNamespaceResolver)
PUBLIC: Set the NamespaceResolver to associate with this descriptor
Parameters:
newNamespaceResolver - the NamespaceResolver to associate with this descriptor
See Also:
NamespaceResolver

getSchemaReference

public XMLSchemaReference getSchemaReference()
PUBLIC: Return the SchemaReference associated with this descriptor
Returns:
the SchemaReference associated with this descriptor
See Also:
org.eclipse.persistence.oxm.schema

setSchemaReference

public void setSchemaReference(XMLSchemaReference newSchemaReference)
PUBLIC: Set the SchemaReference to associate with this descriptor
Parameters:
newSchemaReference - the SchemaReference to associate with this descriptor
See Also:
org.eclipse.persistence.oxm.schema

isLazilyInitialized

public boolean isLazilyInitialized()
If true, the descriptor may be lazily initialized. This is useful if the descriptor may not get used.

setLazilyInitialized

public void setLazilyInitialized(boolean shouldLazyInitiailize)
Specify in the descriptor may be lazily initialized. The default is false.

getPrimaryKeyFieldNames

public java.util.Vector<java.lang.String> getPrimaryKeyFieldNames()
Description copied from class: ClassDescriptor
PUBLIC: Return the names of all the primary keys.
Overrides:
getPrimaryKeyFieldNames in class ClassDescriptor

validateMappingType

protected void validateMappingType(DatabaseMapping mapping)
Overrides:
validateMappingType in class ClassDescriptor

buildNestedRowFromFieldValue

public org.eclipse.persistence.internal.sessions.AbstractRecord buildNestedRowFromFieldValue(java.lang.Object fieldValue)
INTERNAL: Build(if necessary) and return the nested XMLRecord from the specified field value. The field value should be an XMLRecord or and XMLElement
Overrides:
buildNestedRowFromFieldValue in class ClassDescriptor

buildNestedRowsFromFieldValue

public java.util.Vector buildNestedRowsFromFieldValue(java.lang.Object fieldValue,
                                                      org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Build(if necessary) and return a Vector of the nested XMLRecords from the specified field value. The field value should be a Vector, an XMLRecord, or an XMLElement
Overrides:
buildNestedRowsFromFieldValue in class ClassDescriptor

addDirectMapping

public DatabaseMapping addDirectMapping(java.lang.String attributeName,
                                        java.lang.String xpathString)
PUBLIC: Add a direct mapping to the receiver. The new mapping specifies that an instance variable of the class of objects which the receiver describes maps in the default manner for its type to the indicated database field.
Overrides:
addDirectMapping in class ClassDescriptor
Parameters:
attributeName - the name of an instance variable of the class which the receiver describes.
xpathString - the xpath of the xml element or attribute which corresponds with the designated instance variable.
Returns:
The newly created DatabaseMapping is returned.

addDirectMapping

public DatabaseMapping addDirectMapping(java.lang.String attributeName,
                                        java.lang.String getMethodName,
                                        java.lang.String setMethodName,
                                        java.lang.String xpathString)
PUBLIC: Add a direct to node mapping to the receiver. The new mapping specifies that a variable accessed by the get and set methods of the class of objects which the receiver describes maps in the default manner for its type to the indicated database field.
Overrides:
addDirectMapping in class ClassDescriptor

addPrimaryKeyFieldName

public void addPrimaryKeyFieldName(java.lang.String fieldName)
Description copied from class: ClassDescriptor
PUBLIC: Specify the primary key field of the descriptors table. This should be called for each field that makes up the primary key of the table. If the descriptor has many tables, this must be the primary key in the first table, if the other tables have the same primary key nothing else is required, otherwise a primary key/foreign key field mapping must be provided for each of the other tables.
Overrides:
addPrimaryKeyFieldName in class ClassDescriptor
See Also:
#addMultipleTableForeignKeyFieldName(String, String);

addPrimaryKeyField

public void addPrimaryKeyField(org.eclipse.persistence.internal.helper.DatabaseField field)
Description copied from class: ClassDescriptor
ADVANCED: Specify the primary key field of the descriptors table. This should be called for each field that makes up the primary key of the table. This can be used for advanced field types, such as XML nodes, or to set the field type.
Overrides:
addPrimaryKeyField in class ClassDescriptor

setPrimaryKeyFields

public void setPrimaryKeyFields(java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> thePrimaryKeyFields)
Description copied from class: ClassDescriptor
INTERNAL: Set the primary key fields
Overrides:
setPrimaryKeyFields in class ClassDescriptor

buildDirectValuesFromFieldValue

public java.util.Vector buildDirectValuesFromFieldValue(java.lang.Object fieldValue)
                                                 throws DatabaseException
INTERNAL: Extract the direct values from the specified field value. Return them in a vector. The field value could be a vector or could be a text value if only a single value.
Overrides:
buildDirectValuesFromFieldValue in class ClassDescriptor
Throws:
DatabaseException

buildFieldValueFromDirectValues

public java.lang.Object buildFieldValueFromDirectValues(java.util.Vector directValues,
                                                        java.lang.String elementDataTypeName,
                                                        org.eclipse.persistence.internal.sessions.AbstractSession session)
                                                 throws DatabaseException
INTERNAL: Build the appropriate field value for the specified set of direct values. The database better be expecting a Vector.
Overrides:
buildFieldValueFromDirectValues in class ClassDescriptor
Throws:
DatabaseException

buildFieldValueFromNestedRows

public java.lang.Object buildFieldValueFromNestedRows(java.util.Vector nestedRows,
                                                      java.lang.String structureName,
                                                      org.eclipse.persistence.internal.sessions.AbstractSession session)
                                               throws DatabaseException
INTERNAL: Build and return the appropriate field value for the specified set of nested rows.
Overrides:
buildFieldValueFromNestedRows in class ClassDescriptor
Throws:
DatabaseException

buildField

public org.eclipse.persistence.internal.helper.DatabaseField buildField(java.lang.String fieldName)
INTERNAL: A DatabaseField is built from the given field name.
Overrides:
buildField in class ClassDescriptor

buildField

public org.eclipse.persistence.internal.helper.DatabaseField buildField(org.eclipse.persistence.internal.helper.DatabaseField field)
INTERNAL: This is used only in initialization.
Overrides:
buildField in class ClassDescriptor

initializeAggregateInheritancePolicy

public void initializeAggregateInheritancePolicy(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: This is needed by regular aggregate descriptors (because they require review); but not by XML aggregate descriptors.
Overrides:
initializeAggregateInheritancePolicy in class ClassDescriptor

setTableNames

public void setTableNames(java.util.Vector tableNames)
Description copied from class: ClassDescriptor
PUBLIC: Specify the all table names for the class of objects the receiver describes. If the table has a qualifier it should be specified using the dot notation, (i.e. "userid.employee"). This method is used for multiple tables
Overrides:
setTableNames in class ClassDescriptor

setTables

public void setTables(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseTable> theTables)
INTERNAL: Sets the tables
Overrides:
setTables in class ClassDescriptor

preInitialize

public void preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
                   throws DescriptorException
INTERNAL: Allow the descriptor to initialize any dependencies on this session.
Overrides:
preInitialize in class ClassDescriptor
Throws:
DescriptorException

preInitializeInheritancePolicy

protected void preInitializeInheritancePolicy(org.eclipse.persistence.internal.sessions.AbstractSession session)
                                       throws DescriptorException
Description copied from class: ClassDescriptor
Hook together the inheritance policy tree.
Overrides:
preInitializeInheritancePolicy in class ClassDescriptor
Throws:
DescriptorException

postInitialize

public void postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
                    throws DescriptorException
INTERNAL: Post initializations after mappings are initialized.
Overrides:
postInitialize in class ClassDescriptor
Throws:
DescriptorException

initialize

public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
                throws DescriptorException
INTERNAL: Initialize the mappings as a separate step. This is done as a separate step to ensure that inheritance has been first resolved.
Overrides:
initialize in class ClassDescriptor
Throws:
DescriptorException

requiresInitialization

public boolean requiresInitialization()
INTERNAL: XML descriptors are initialized normally, since they do not need to be cloned by XML aggregate mappings.
Overrides:
requiresInitialization in class ClassDescriptor

extractDefaultTable

protected org.eclipse.persistence.internal.helper.DatabaseTable extractDefaultTable()
Aggregates use a dummy table as default.
Overrides:
extractDefaultTable in class ClassDescriptor

wrapObjectInXMLRoot

public java.lang.Object wrapObjectInXMLRoot(UnmarshalRecord unmarshalRecord,
                                            boolean forceWrap)
INTERNAL: Determines the appropriate object to return from the unmarshal call. The method will either return the object created in the xmlReader.parse() call or an instance of XMLRoot. An XMLRoot instance will be returned if the DOMRecord element being unmarshalled does not equal the descriptor's default root element.
Parameters:
unmarshalRecord -
Returns:
object

wrapObjectInXMLRoot

public java.lang.Object wrapObjectInXMLRoot(java.lang.Object object,
                                            java.lang.String elementNamespaceUri,
                                            java.lang.String elementLocalName,
                                            java.lang.String elementPrefix,
                                            boolean forceWrap)
INTERNAL: Determines the appropriate object to return from the unmarshal call. The method will either return the object created in the xmlReader.parse() call or an instance of XMLRoot. An XMLRoot instance will be returned if the DOMRecord element being unmarshalled does not equal the descriptor's default root element.
Parameters:
object -
elementNamespaceUri -
elementLocalName -
elementPrefix -
Returns:
object

wrapObjectInXMLRoot

public java.lang.Object wrapObjectInXMLRoot(java.lang.Object object,
                                            java.lang.String elementNamespaceUri,
                                            java.lang.String elementLocalName,
                                            java.lang.String elementPrefix,
                                            java.lang.String encoding,
                                            java.lang.String version,
                                            boolean forceWrap)

shouldWrapObject

public boolean shouldWrapObject(java.lang.Object object,
                                java.lang.String elementNamespaceUri,
                                java.lang.String elementLocalName,
                                java.lang.String elementPrefix)

getDefaultRootElementField

public XMLField getDefaultRootElementField()

setDefaultRootElementField

private boolean setDefaultRootElementField(java.lang.String newDefaultRootElement)
Returns:
true if a new default root element field was created, else false.

setDefaultRootElementField

public void setDefaultRootElementField(XMLField xmlField)

getDefaultRootElementType

public javax.xml.namespace.QName getDefaultRootElementType()

setDefaultRootElementType

public void setDefaultRootElementType(javax.xml.namespace.QName type)
The default root element type string will be stored until initialization - a QName will be created and stored on the default root element field during initialize.
Parameters:
type -

isSequencedObject

public boolean isSequencedObject()
INTERNAL:

Indicates if the Object mapped by this descriptor is a sequenced data object and should be marshalled accordingly.


setSequencedObject

public void setSequencedObject(boolean isSequenced)

isWrapper

public boolean isWrapper()

setIsWrapper

public void setIsWrapper(boolean value)

isResultAlwaysXMLRoot

public boolean isResultAlwaysXMLRoot()

setResultAlwaysXMLRoot

public void setResultAlwaysXMLRoot(boolean resultAlwaysXMLRoot)

getTypedField

public org.eclipse.persistence.internal.helper.DatabaseField getTypedField(org.eclipse.persistence.internal.helper.DatabaseField field)
Description copied from class: ClassDescriptor
INTERNAL: searches first descriptor than its ReturningPolicy for an equal field
Overrides:
getTypedField in class ClassDescriptor

getTypedField

protected org.eclipse.persistence.internal.helper.DatabaseField getTypedField(java.util.StringTokenizer stringTokenizer)

Skip navigation links

Copyright © 1998, 2012, Oracle. All Rights Reserved.