de.fuberlin.wiwiss.d2rq.sql
Class SQL

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

public class SQL
extends Object

Parses different types of SQL fragments from Strings, and turns them back into Strings. All methods are static.

Author:
Richard Cyganiak (richard@cyganiak.de)

Method Summary
static Set<Attribute> findColumnsInExpression(String expression)
           
static boolean isHexString(String s)
           
static AliasMap.Alias parseAlias(String aliasExpression)
          Constructs an Alias from an SQL "foo AS bar" expression.
static Attribute parseAttribute(String qualifiedName)
          Constructs an attribute from a fully qualified column name in [schema.]table.column notation.
static Set<Join> parseJoins(Collection<String> joinConditions)
          Builds a list of Join objects from a list of join condition strings.
static RelationName parseRelationName(String qualifiedName)
          Constructs a relation name from a fully qualified name in schema.table or table notation.
static String quoteColumnsInExpression(String expression, ConnectedDB database)
           
static String replaceColumnsInExpression(String expression, ColumnRenamer columnRenamer)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

parseAttribute

public static Attribute parseAttribute(String qualifiedName)
Constructs an attribute from a fully qualified column name in [schema.]table.column notation.

Parameters:
qualifiedName - The attribute's name

findColumnsInExpression

public static Set<Attribute> findColumnsInExpression(String expression)

replaceColumnsInExpression

public static String replaceColumnsInExpression(String expression,
                                                ColumnRenamer columnRenamer)

quoteColumnsInExpression

public static String quoteColumnsInExpression(String expression,
                                              ConnectedDB database)

parseRelationName

public static RelationName parseRelationName(String qualifiedName)
Constructs a relation name from a fully qualified name in schema.table or table notation.

Parameters:
qualifiedName - The relation's name

parseAlias

public static AliasMap.Alias parseAlias(String aliasExpression)
Constructs an Alias from an SQL "foo AS bar" expression.


parseJoins

public static Set<Join> parseJoins(Collection<String> joinConditions)
Builds a list of Join objects from a list of join condition strings. Groups multiple condition that connect the same two table (multi-column keys) into a single join.

Parameters:
joinConditions - a collection of strings
Returns:
a set of Join instances

isHexString

public static boolean isHexString(String s)