de.fuberlin.wiwiss.d2rq.sql
Class SelectStatementBuilder

java.lang.Object
  extended by de.fuberlin.wiwiss.d2rq.sql.SelectStatementBuilder

public class SelectStatementBuilder
extends Object

Collects parts of a SELECT query and delivers a corresponding SQL statement. Used within TripleResultSets.

Version:
$Id: SelectStatementBuilder.java,v 1.22 2006/11/02 21:15:44 cyganiak Exp $
Author:
Chris Bizer chris@bizer.de, Richard Cyganiak (richard@cyganiak.de)

Constructor Summary
SelectStatementBuilder(ConnectedDB database)
          TODO: Try if we can change parameters to (Relation, projectionColumns) and make immutable
 
Method Summary
 void addAliasMap(AliasMap newAliases)
           
 void addCondition(Expression condition)
          Adds a WHERE clause to the query.
 void addRelation(Relation relation)
           
 void addSelectColumn(Attribute column)
          Adds a column to the SELECT part of the query.
 void addSelectColumns(Set columns)
          Adds a list of Attributes to the SELECT part of the query
 ClosableIterator execute()
           
 ConnectedDB getDatabase()
           
 String getSQLStatement()
           
 boolean isEmpty()
           
 boolean isTrivial()
           
 void setEliminateDuplicates(boolean eliminateDuplicates)
          Sets if the SQL statement should eliminate duplicate rows ("SELECT DISTINCT").
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SelectStatementBuilder

public SelectStatementBuilder(ConnectedDB database)
TODO: Try if we can change parameters to (Relation, projectionColumns) and make immutable

Method Detail

addRelation

public void addRelation(Relation relation)

getDatabase

public ConnectedDB getDatabase()

isTrivial

public boolean isTrivial()

isEmpty

public boolean isEmpty()

getSQLStatement

public String getSQLStatement()

addAliasMap

public void addAliasMap(AliasMap newAliases)

addSelectColumn

public void addSelectColumn(Attribute column)
Adds a column to the SELECT part of the query.

Parameters:
column - the column

addSelectColumns

public void addSelectColumns(Set columns)
Adds a list of Attributes to the SELECT part of the query

Parameters:
columns -

addCondition

public void addCondition(Expression condition)
Adds a WHERE clause to the query.

Parameters:
condition - An SQL expression

setEliminateDuplicates

public void setEliminateDuplicates(boolean eliminateDuplicates)
Sets if the SQL statement should eliminate duplicate rows ("SELECT DISTINCT").

Parameters:
eliminateDuplicates - enable DISTINCT?

execute

public ClosableIterator execute()
Returns:
An iterator over ResultRows