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".
| Modifier and Type | Field and Description |
|---|---|
| private NamespaceResolver | |
| private boolean |
| Access | Constructor and Description |
|---|---|
| public | |
| public |
| Modifier and Type | Method and Description |
|---|---|
| public void | addClassIndicatorFieldToRow(AbstractRecord databaseRow)
Overrides org. |
| public Class | classFromRow(AbstractRecord rowFromDatabase, AbstractSession session)
Overrides org. |
| public void | initialize(AbstractSession session)
Overrides org. |
| public void | preInitialize(AbstractSession session)
Overrides org. |
| public void | setClassIndicatorFieldName(String fieldName)
Overrides org. |
| public void | |
| protected void | updateTables()
Overrides org. |
| namespaceResolver | back to summary |
|---|---|
| private NamespaceResolver namespaceResolver | |
| usesXsiType | back to summary |
|---|---|
| private boolean usesXsiType | |
| QNameInheritancePolicy | back to summary |
|---|---|
| public QNameInheritancePolicy() | |
| QNameInheritancePolicy | back to summary |
|---|---|
| public QNameInheritancePolicy(ClassDescriptor desc) | |
| addClassIndicatorFieldToRow | back to summary |
|---|---|
| public void addClassIndicatorFieldToRow(AbstractRecord databaseRow) Overrides org. INTERNAL: Add abstract class indicator information to the database row. This is required when building a row for an insert or an update of a concrete child descriptor.
| |
| classFromRow | back to summary |
|---|---|
| public Class Overrides org. INTERNAL: This method is invoked only for the abstract descriptors.
| |
| initialize | back to summary |
|---|---|
| public void initialize(AbstractSession session) Overrides org. INTERNAL: Initialized the inheritance properties of the descriptor once the mappings are initialized. This is done before formal postInitialize during the end of mapping initialize.
| |
| preInitialize | back to summary |
|---|---|
| public void preInitialize(AbstractSession session) throws DescriptorException Overrides org. INTERNAL: Allow the inheritance properties of the descriptor to be initialized. The descriptor's parent must first be initialized.
| |
| setClassIndicatorFieldName | back to summary |
|---|---|
| public void setClassIndicatorFieldName(String fieldName) Overrides org. PUBLIC: To set the class indicator field name. This is the name of the field in the table that stores what type of object this is.
| |
| setNamespaceResolver | back to summary |
|---|---|
| public void setNamespaceResolver(NamespaceResolver resolver) | |
| updateTables | back to summary |
|---|---|
| protected void updateTables() Overrides org. Override to control order of uniqueTables, child tablenames should be first since getDefaultRootElement on an XMLDescriptor will return the first table.
| |