public class QNameInheritancePolicy extends InheritancePolicy
Purpose: A Subclass of Inheritance Policy to be used with XML Descriptors. If the class indicator field is an xsi:type, the value of that field may be a qualified type name. For example xsi:type="myns:my-type-name". Since any given XML document can use different prefixes for these namespaces, we must be able to find the class based on QName instead of just the string "myns:my-type-name".
| Constructor and Description |
|---|
QNameInheritancePolicy() |
QNameInheritancePolicy(ClassDescriptor desc) |
| Modifier and Type | Method and Description |
|---|---|
void |
addClassIndicatorFieldToRow(AbstractRecord databaseRow)
INTERNAL:
Add abstract class indicator information to the database row.
|
java.lang.Class |
classFromRow(AbstractRecord rowFromDatabase,
AbstractSession session)
INTERNAL:
This method is invoked only for the abstract descriptors.
|
void |
initialize(AbstractSession session)
INTERNAL:
Initialized the inheritance properties of the descriptor once the mappings are initialized.
|
void |
preInitialize(AbstractSession session)
INTERNAL:
Allow the inheritance properties of the descriptor to be initialized.
|
void |
setClassIndicatorFieldName(java.lang.String fieldName)
PUBLIC:
To set the class indicator field name.
|
void |
setNamespaceResolver(NamespaceResolver resolver) |
addChildDescriptor, addChildTableJoinExpressionToAllParents, addClassIndicator, addClassIndicatorFieldToInsertRow, addClassNameIndicator, appendWithAllSubclassesExpression, buildClassIndicatorSelectStatement, buildViewSelectStatement, classFromValue, clone, convertClassNamesToClasses, dontReadSubclassesOnQueries, dontUseClassNameAsIndicator, getAllChildDescriptors, getAllTables, getChildDescriptors, getChildrenJoinExpression, getChildrenTables, getChildrenTablesJoinExpressions, getClassExtractionMethodName, getClassExtractor, getClassIndicatorAssociations, getClassIndicatorField, getClassIndicatorFieldName, getClassIndicatorMapping, getClassNameIndicatorMapping, getDescribesNonPersistentSubclasses, getDescriptor, getDescriptor, getOnlyInstancesExpression, getParentClass, getParentClassName, getParentDescriptor, getReadAllSubclassesView, getReadAllSubclassesViewName, getRootParentDescriptor, getSubclassDescriptor, getUseDescriptorsToValidateInheritedObjects, getWithAllSubclassesExpression, hasChildren, hasClassExtractor, hasClassIndicator, hasMultipleTableChild, hasView, isChildDescriptor, isJoinedStrategy, isRootParentDescriptor, postInitialize, readSubclassesOnQueries, remoteInitialization, requiresMultipleTableSubclassRead, selectAllRowUsingMultipleTableSubclassRead, selectOneRowUsingMultipleTableSubclassRead, setAlwaysUseOuterJoinForClassType, setChildDescriptors, setClassExtractionMethodName, setClassExtractor, setClassExtractorName, setClassIndicatorAssociations, setClassIndicatorField, setClassIndicatorMapping, setClassNameIndicatorMapping, setDescribesNonPersistentSubclasses, setDescriptor, setJoinedStrategy, setOnlyInstancesExpression, setParentClass, setParentClassName, setParentDescriptor, setReadAllSubclassesViewName, setShouldOuterJoinSubclasses, setShouldReadSubclasses, setShouldReadSubclasses, setShouldUseClassNameAsIndicator, setSingleTableStrategy, setUseDescriptorsToValidateInheritedObjects, setWithAllSubclassesExpression, shouldAlwaysUseOuterJoin, shouldOuterJoinSubclasses, shouldReadSubclasses, shouldReadSubclassesValue, shouldUseClassNameAsIndicator, toString, useClassNameAsIndicatorpublic QNameInheritancePolicy()
public QNameInheritancePolicy(ClassDescriptor desc)
public void preInitialize(AbstractSession session) throws DescriptorException
preInitialize in class InheritancePolicyDescriptorExceptionpublic void initialize(AbstractSession session)
initialize in class InheritancePolicypublic java.lang.Class classFromRow(AbstractRecord rowFromDatabase, AbstractSession session) throws DescriptorException
classFromRow in class InheritancePolicyDescriptorExceptionpublic void setNamespaceResolver(NamespaceResolver resolver)
public void setClassIndicatorFieldName(java.lang.String fieldName)
setClassIndicatorFieldName in class InheritancePolicypublic void addClassIndicatorFieldToRow(AbstractRecord databaseRow)
addClassIndicatorFieldToRow in class InheritancePolicyEclipseLink 2.6.3, "build v20160428-59c81c5" API Reference