org.jrdf.query.execute
Class NaiveQueryEngineImpl

java.lang.Object
  extended by org.jrdf.query.expression.ExpressionVisitorAdapter
      extended by org.jrdf.query.execute.NaiveQueryEngineImpl
All Implemented Interfaces:
QueryEngine, ExpressionVisitor

public class NaiveQueryEngineImpl
extends ExpressionVisitorAdapter
implements QueryEngine

An implementation of a Query Engine that does not try to optimize or transform the query. Simply evaluates the query tree by performing restrinctions, other operations (natural process, etc) and then project.

Version:
$Revision:$
Author:
Andrew Newman

Constructor Summary
NaiveQueryEngineImpl(Project project, NadicJoin naturalJoin, Restrict restrict, Union union, DyadicJoin leftOuterJoin)
           
 
Method Summary
 Relation getResult()
           
 void initialiseBaseRelation(Relation initialRelation)
           
 void setAllVariables(Map<AttributeName,PositionalNodeType> allVariables)
           
<V extends ExpressionVisitor>
void
visitConjunction(Conjunction<V> conjunction)
           
<V extends ExpressionVisitor>
void
visitConstraint(Constraint<V> constraint)
           
<V extends ExpressionVisitor>
void
visitOptional(Optional<V> optional)
           
<V extends ExpressionVisitor>
void
visitProjection(Projection<V> projection)
           
<V extends ExpressionVisitor>
void
visitUnion(Union<V> conjunction)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NaiveQueryEngineImpl

public NaiveQueryEngineImpl(Project project,
                            NadicJoin naturalJoin,
                            Restrict restrict,
                            Union union,
                            DyadicJoin leftOuterJoin)
Method Detail

getResult

public Relation getResult()
Specified by:
getResult in interface QueryEngine

initialiseBaseRelation

public void initialiseBaseRelation(Relation initialRelation)
Specified by:
initialiseBaseRelation in interface QueryEngine

setAllVariables

public void setAllVariables(Map<AttributeName,PositionalNodeType> allVariables)
Specified by:
setAllVariables in interface QueryEngine

visitProjection

public <V extends ExpressionVisitor> void visitProjection(Projection<V> projection)
Specified by:
visitProjection in interface ExpressionVisitor
Overrides:
visitProjection in class ExpressionVisitorAdapter

visitConstraint

public <V extends ExpressionVisitor> void visitConstraint(Constraint<V> constraint)
Specified by:
visitConstraint in interface ExpressionVisitor
Overrides:
visitConstraint in class ExpressionVisitorAdapter

visitConjunction

public <V extends ExpressionVisitor> void visitConjunction(Conjunction<V> conjunction)
Specified by:
visitConjunction in interface ExpressionVisitor
Overrides:
visitConjunction in class ExpressionVisitorAdapter

visitUnion

public <V extends ExpressionVisitor> void visitUnion(Union<V> conjunction)
Specified by:
visitUnion in interface ExpressionVisitor
Overrides:
visitUnion in class ExpressionVisitorAdapter

visitOptional

public <V extends ExpressionVisitor> void visitOptional(Optional<V> optional)
Specified by:
visitOptional in interface ExpressionVisitor
Overrides:
visitOptional in class ExpressionVisitorAdapter