org.d2rq.db.op.util
Class OpSelecter

java.lang.Object
  extended by org.d2rq.db.op.util.OpMutator
      extended by org.d2rq.db.op.util.OpSelecter

public class OpSelecter
extends OpMutator

Applies an Expression to a DatabaseOp. Wraps atomic tables and joins into SelectOps, merges SelectOps into one, and recurses into other kinds of tabular wrappers.

Author:
Richard Cyganiak (richard@cyganiak.de)

Constructor Summary
OpSelecter(DatabaseOp table, Expression expression)
           
 
Method Summary
 DatabaseOp visit(SQLOp original)
           
 DatabaseOp visit(TableOp original)
           
 boolean visitEnter(AliasOp original)
           
 boolean visitEnter(EmptyOp original)
           
 boolean visitEnter(InnerJoinOp original)
           
 boolean visitEnter(SelectOp original)
           
 DatabaseOp visitLeave(AliasOp original, DatabaseOp child)
           
 DatabaseOp visitLeave(EmptyOp original, DatabaseOp child)
           
 DatabaseOp visitLeave(InnerJoinOp original, Collection<NamedOp> newChildren)
           
 DatabaseOp visitLeave(SelectOp original, DatabaseOp child)
           
 DatabaseOp visitOpTrue()
           
 
Methods inherited from class org.d2rq.db.op.util.OpMutator
getResult, visitEnter, visitEnter, visitEnter, visitEnter, visitEnter, visitLeave, visitLeave, visitLeave, visitLeave, visitLeave
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OpSelecter

public OpSelecter(DatabaseOp table,
                  Expression expression)
Method Detail

visitEnter

public boolean visitEnter(InnerJoinOp original)
Overrides:
visitEnter in class OpMutator

visitLeave

public DatabaseOp visitLeave(InnerJoinOp original,
                             Collection<NamedOp> newChildren)
Overrides:
visitLeave in class OpMutator

visitEnter

public boolean visitEnter(SelectOp original)
Overrides:
visitEnter in class OpMutator

visitLeave

public DatabaseOp visitLeave(SelectOp original,
                             DatabaseOp child)
Overrides:
visitLeave in class OpMutator

visitEnter

public boolean visitEnter(AliasOp original)
Overrides:
visitEnter in class OpMutator

visitLeave

public DatabaseOp visitLeave(AliasOp original,
                             DatabaseOp child)
Overrides:
visitLeave in class OpMutator

visitEnter

public boolean visitEnter(EmptyOp original)
Overrides:
visitEnter in class OpMutator

visitLeave

public DatabaseOp visitLeave(EmptyOp original,
                             DatabaseOp child)
Overrides:
visitLeave in class OpMutator

visit

public DatabaseOp visit(TableOp original)
Overrides:
visit in class OpMutator

visit

public DatabaseOp visit(SQLOp original)
Overrides:
visit in class OpMutator

visitOpTrue

public DatabaseOp visitOpTrue()
Overrides:
visitOpTrue in class OpMutator