org.d2rq.lang
Class OpBuilder

java.lang.Object
  extended by org.d2rq.lang.OpBuilder

public class OpBuilder
extends Object

Builder for the DatabaseOps corresponding to various mapping constructs in the D2RQ mapping language. TODO: isUnique is not properly handled yet

Author:
Richard Cyganiak (richard@cyganiak.de)

Constructor Summary
OpBuilder(SQLConnection database, Map<ColumnName,DataType.GenericType> overriddenColumnTypes)
           
 
Method Summary
 void addAliasDeclaration(AliasDeclaration declaration)
           
 void addAliasDeclarations(Collection<AliasDeclaration> declarations)
           
 void addAliasedOpBuilder(OpBuilder other)
          Adds information from another op builder to this one, applying this builder's alias mappings to the other one.
 void addCondition(Expression expression)
           
 void addCondition(String condition)
           
 void addConditions(Collection<String> conditions)
           
 void addExtension(ColumnName column, Expression value)
           
 void addJoinExpressions(Collection<Join> joinExpressions)
           
 void addJoins(Collection<ColumnListEquality> joins)
           
 void addOpBuilder(OpBuilder other)
           
 void addProjection(ProjectionSpec projection)
           
 void addProjections(Collection<ProjectionSpec> projections)
           
 DatabaseOp getOp()
           
 void setContainsDuplicates(boolean containsDuplicates)
           
 void setLimit(int limit)
           
 void setLimitInverse(int limitInverse)
           
 void setOrderColumn(ColumnName column)
           
 void setOrderDesc(boolean desc)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OpBuilder

public OpBuilder(SQLConnection database,
                 Map<ColumnName,DataType.GenericType> overriddenColumnTypes)
Method Detail

addCondition

public void addCondition(Expression expression)

addCondition

public void addCondition(String condition)

addConditions

public void addConditions(Collection<String> conditions)

addAliasDeclaration

public void addAliasDeclaration(AliasDeclaration declaration)

addAliasDeclarations

public void addAliasDeclarations(Collection<AliasDeclaration> declarations)

addJoins

public void addJoins(Collection<ColumnListEquality> joins)

addJoinExpressions

public void addJoinExpressions(Collection<Join> joinExpressions)

addExtension

public void addExtension(ColumnName column,
                         Expression value)

addProjection

public void addProjection(ProjectionSpec projection)

addProjections

public void addProjections(Collection<ProjectionSpec> projections)

addOpBuilder

public void addOpBuilder(OpBuilder other)

addAliasedOpBuilder

public void addAliasedOpBuilder(OpBuilder other)
Adds information from another op builder to this one, applying this builder's alias mappings to the other one.

Parameters:
other - An op builder that potentially uses aliases declared in this builder

setContainsDuplicates

public void setContainsDuplicates(boolean containsDuplicates)

setOrderColumn

public void setOrderColumn(ColumnName column)

setOrderDesc

public void setOrderDesc(boolean desc)

setLimit

public void setLimit(int limit)

setLimitInverse

public void setLimitInverse(int limitInverse)

getOp

public DatabaseOp getOp()