2.17.2: 2011-06-17

net.sf.basedb.core.query
Class Selects

java.lang.Object
  extended by net.sf.basedb.core.query.Selects

public class Selects
extends Object

A factory class to create select expressions.

Version:
2.0
Author:
Nicklas
Last modified
$Date: 2009-06-23 11:30:37 +0200 (Tue, 23 Jun 2009) $

Field Summary
static Pattern ALIAS_REGEXP
          An alias can only contain the characters a-z, A-Z or 0-9.
 
Constructor Summary
Selects()
           
 
Method Summary
static Select expression(Expression e1, String alias)
          Same as expression(e1, alias, false).
static Select expression(Expression e1, String alias, boolean useInDistinctCount)
          Create a selection from an expression, optionally giving it an alias.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALIAS_REGEXP

public static final Pattern ALIAS_REGEXP
An alias can only contain the characters a-z, A-Z or 0-9.

Constructor Detail

Selects

public Selects()
Method Detail

expression

public static final Select expression(Expression e1,
                                      String alias)
                               throws InvalidDataException
Same as expression(e1, alias, false).

Parameters:
e1 - The expression to select. Null is not allowed
alias - The alias to give the expression. Only characters a-z, A-Z and 0-9 are allowed. Null is allowed.
Returns:
A selection query element
Throws:
InvalidDataException - If the required parameter is null or if illegal characters is used in alias
See Also:
expression(Expression, String, boolean)

expression

public static final Select expression(Expression e1,
                                      String alias,
                                      boolean useInDistinctCount)
                               throws InvalidDataException
Create a selection from an expression, optionally giving it an alias. The alias can be used when getting the result to find the column index. See SqlResultIterator.getIndex(String).

SELECT <expression> AS <alias>
FROM ...
        

The useInDistinctCount parameter affects the Query.count(DbControl) method, if the Query.setDistinct(boolean) has been set to true. In this case only expressions which has been created for use with the distinct function are used in the selection list:

SELECT COUNT(DISTINCT <expression>)
FROM ...
        

Parameters:
e1 - The expression to select
alias - The alias to give the expression
useInDistinctCount - If the expression should be used when counting distinct values
Returns:
A selection query element
Throws:
InvalidDataException - If the expression is null or if the alias contains invalid characters

2.17.2: 2011-06-17