org.imemex.logicalplan.rewrite
Class AbstractRewriteRule

java.lang.Object
  extended by org.imemex.logicalplan.treewalkers.AbstractTreeWalker
      extended by org.imemex.logicalplan.rewrite.AbstractRewriteRule
All Implemented Interfaces:
RewriteRule, LogicalTreeWalker
Direct Known Subclasses:
ElimIntersectAllRule, FilterInliningRule, KeywordQueryRelaxationRule, NameRelaxationRule, NAryToBinaryUnion, PredicateMergeRule, RemoveStupidNodesRule, RuleAllToTable, RuleDbSelect, RuleEmpty, RuleFilteredTableRows, RuleFilterOnTop, RuleGreyToBlack, RuleIntersect, RuleIntersectTable, RuleJoin, RulePropagateEmptyIntersect, RulePropagateEmptyUnnest, RuleRemoveEmptyUnion, RuleTableRows, RuleUnion

public abstract class AbstractRewriteRule
extends AbstractTreeWalker
implements RewriteRule

Version:
1.0
Author:
ogirard

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.imemex.logicalplan.rewrite.RewriteRule
RewriteRule.Helper
 
Field Summary
static RewriteRuleMetadata DEFAULT_REWRITERULE_METADATA
           
 
Constructor Summary
AbstractRewriteRule(java.lang.String patternString)
           
AbstractRewriteRule(java.lang.String[] patternStrings)
           
 
Method Summary
 RewriteRuleMetadata getMetaData()
          gets metadata of this rule
 LogicalNode rewrite(LogicalNode lognode)
          rewrites the logical query
 
Methods inherited from class org.imemex.logicalplan.treewalkers.AbstractTreeWalker
applyRules, defaultMatch, doAfterEnd, doBeforeStart, getMatches, getPatterns, hasMatch, processTree, processTree, wasChanged
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_REWRITERULE_METADATA

public static final RewriteRuleMetadata DEFAULT_REWRITERULE_METADATA
Constructor Detail

AbstractRewriteRule

public AbstractRewriteRule(java.lang.String patternString)
Parameters:
patternString - pattern to be parsed and matched
See Also:
LogicalPattern

AbstractRewriteRule

public AbstractRewriteRule(java.lang.String[] patternStrings)
Parameters:
patternStrings - patterns to be parsed and matched (or)
See Also:
LogicalPattern
Method Detail

getMetaData

public RewriteRuleMetadata getMetaData()
Description copied from interface: RewriteRule
gets metadata of this rule

Specified by:
getMetaData in interface RewriteRule
Returns:

rewrite

public LogicalNode rewrite(LogicalNode lognode)
Description copied from interface: RewriteRule
rewrites the logical query

Specified by:
rewrite in interface RewriteRule
Parameters:
lognode - root of logical tree
Returns:
root of rewritten tree