org.objectweb.medor.optim.jorm

Class JormFilteredInheritance

Implemented Interfaces:
RewriteRule

public class JormFilteredInheritance
extends JormRule

In the case of filtered inheritance, this rule replaces a QueryTree built on top of JormExtents with inheritance by a QueryTree with JormExtents without inheritance, on top of which are inserted new SelectProjects containing the filter corresponding to the inheritance filter.

MEDOR constructs its filter using the ones in RdbClassMapping, either accessible through getRdbFilter(), if it has been provided by the user, or computed from the NameDef filter otherwise (method to be provided in JORM).

Author:
A. Lefebvre

Nested Class Summary

Nested classes/interfaces inherited from class org.objectweb.medor.optim.lib.BasicRule

BasicRule.ModifiedExpression

Field Summary

Fields inherited from class org.objectweb.medor.optim.lib.BasicRule

debug, log

Constructor Summary

JormFilteredInheritance()

Method Summary

QueryTree
rewrite(QueryTree qt, QueryNode parent)

Methods inherited from class org.objectweb.medor.optim.jorm.JormRule

getClassMapping, getGenClassMapping, getJORMFieldName, getPEM, getPNCOperand, getPrimitiveElement

Methods inherited from class org.objectweb.medor.optim.lib.BasicRule

replaceUsage, rewrite

Constructor Details

JormFilteredInheritance

public JormFilteredInheritance()

Method Details

rewrite

public QueryTree rewrite(QueryTree qt,
                         QueryNode parent)
            throws MedorException
Specified by:
rewrite in interface RewriteRule