org.objectweb.medor.optim.lib

Class DropUnusedProjFieldsRule

Implemented Interfaces:
RewriteRule

public class DropUnusedProjFieldsRule
extends BasicRule

This class represents the rule to drop projected fields which are not used.

This rule is to be called on the root of the tree to be optimized. The projected fields of the root node will not be deleted (they are requested by the user).

As a remark, the user should be careful and not request unnecessary fields!

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

DropUnusedProjFieldsRule()

Method Summary

QueryTree
rewrite(QueryTree qt, QueryNode _parent)
Relies on a Map which associates to each child the list of required Fields for that child.

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

replaceUsage, rewrite

Constructor Details

DropUnusedProjFieldsRule

public DropUnusedProjFieldsRule()

Method Details

rewrite

public QueryTree rewrite(QueryTree qt,
                         QueryNode _parent)
            throws MedorException
Relies on a Map which associates to each child the list of required Fields for that child.
Specified by:
rewrite in interface RewriteRule