org.d2rq.lang
Class TabularBuilder

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

public class TabularBuilder
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
TabularBuilder(SQLConnection database)
           
 
Method Summary
 void addAliasDeclaration(AliasDeclaration declaration)
           
 void addAliasDeclarations(Collection<AliasDeclaration> declarations)
           
 void addAliasedRelationBuilder(TabularBuilder other)
          Adds information from another relation 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 addJoinExpressions(Collection<String> joinExpressions)
           
 void addJoins(Collection<ColumnListEquality> joins)
           
 void addProjection(ProjectionSpec projection)
           
 void addProjections(Collection<ProjectionSpec> projections)
           
 void addRelationBuilder(TabularBuilder other)
           
 DatabaseOp getTabular()
           
 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

TabularBuilder

public TabularBuilder(SQLConnection database)
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<String> joinExpressions)

addProjection

public void addProjection(ProjectionSpec projection)

addProjections

public void addProjections(Collection<ProjectionSpec> projections)

addRelationBuilder

public void addRelationBuilder(TabularBuilder other)

addAliasedRelationBuilder

public void addAliasedRelationBuilder(TabularBuilder other)
Adds information from another relation builder to this one, applying this builder's alias mappings to the other one.

Parameters:
other - A relation 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)

getTabular

public DatabaseOp getTabular()