org.apache.openjpa.persistence.query
Class QueryDefinitionImpl

java.lang.Object
  extended by org.apache.openjpa.persistence.query.AbstractVisitable
      extended by org.apache.openjpa.persistence.query.ExpressionImpl
          extended by org.apache.openjpa.persistence.query.QueryDefinitionImpl
All Implemented Interfaces:
Serializable, Expression, OrderByItem, PredicateOperand, QueryDefinition, SelectItem, Subquery, Visitable

public class QueryDefinitionImpl
extends ExpressionImpl
implements QueryDefinition, Expression

Implements QueryDefinition.

Author:
Pinaki Poddar
See Also:
Serialized Form

Nested Class Summary
(package private) static class QueryDefinitionImpl.DomainSorter
           
 
Field Summary
protected static Localizer _loc
           
 
Fields inherited from class org.apache.openjpa.persistence.query.AbstractVisitable
CLOSE_BRACE, COMMA, EMPTY, OPEN_BRACE, SPACE
 
Constructor Summary
protected QueryDefinitionImpl(QueryBuilderImpl builder)
           
 
Method Summary
protected
<T extends AbstractDomainObject>
T
addDomain(T path)
           
 DomainObject addRoot(Class cls)
          Root domain object has no parent, no path but a non-null Class.
 DomainObject addSubqueryRoot(PathExpression path)
          Add a root derived from a domain object of the containing query definition to a query definition used as a subquery.
 Subquery all()
          Use the query definition object in a subquery in an all expression.
 Subquery any()
          Use the query definition object in a subquery in an any expression.
 String asExpression(AliasContext ctx)
          Get a JPQL fragment as used in WHERE clause.
 String asProjection(AliasContext ctx)
          Gets the string representation in SELECT projection.
 Expression coalesce(Calendar... exp)
          coalesce This is equivalent to a case expression that returns null if all its arguments evaluate to null, and the value of its first non-null argument otherwise.
 Expression coalesce(Date... exp)
          coalesce This is equivalent to a case expression that returns null if all its arguments evaluate to null, and the value of its first non-null argument otherwise.
 Expression coalesce(Expression... exp)
          coalesce This is equivalent to a case expression that returns null if all its arguments evaluate to null, and the value of its first non-null argument otherwise.
 Expression coalesce(String... exp)
          coalesce This is equivalent to a case expression that returns null if all its arguments evaluate to null, and the value of its first non-null argument otherwise.
 Expression currentDate()
          Create an Expression corresponding to the current date on the database server at the time of query execution.
 Expression currentTime()
          Create an Expression corresponding to the current time on the database server at the time of query execution.
 Expression currentTimestamp()
          Create an Expression corresponding to the current timestamp on the database server at the time of query execution.
 Predicate exists()
          Use the query definition instance as a subquery in an exists predicate.
 void fillBuffer(String header, StringBuilder buffer, AliasContext ctx, List list, org.apache.openjpa.persistence.query.QueryDefinitionImpl.Visit visit)
           
 void fillBuffer(String header, StringBuilder buffer, AliasContext ctx, Predicate p)
           
 CaseExpression generalCase()
          Create an empty general case expression.
 QueryDefinition groupBy(List<PathExpression> pathExprList)
          Specify the items that are used to form groups over the query results.
 QueryDefinition groupBy(PathExpression... pathExprs)
          Specify the items that are used to form groups over the query results.
(package private)  boolean hasDomain(PathExpression path)
           
 QueryDefinition having(Predicate predicate)
          Specify the restrictions over the groups of a query.
 Expression literal(boolean b)
          Create an Expression corresponding to a boolean value.
 Expression literal(Calendar c)
          Create an Expression corresponding to a Calendar value.
 Expression literal(char c)
          Create an Expression corresponding to a character value.
 Expression literal(Class cls)
          Create an Expression corresponding to an entity class.
 Expression literal(Date d)
          Create an Expression corresponding to a Date value.
 Expression literal(Enum<?> e)
          Create an Expression corresponding to an enum.
 Expression literal(Number n)
          Create an Expression corresponding to a numeric value.
 Expression literal(String s)
          Create an Expression corresponding to a String value.
 SelectItem newInstance(Class cls, SelectItem... args)
          Specify that a constructor for the given class is to be applied to the corresponding query results after the query is executed.
 Expression nullif(Calendar arg1, Calendar arg2)
          nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.
 Expression nullif(Class arg1, Class arg2)
          nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.
 Expression nullif(Date arg1, Date arg2)
          nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.
 Expression nullif(Enum<?> arg1, Enum<?> arg2)
          nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.
 Expression nullif(Expression exp1, Expression exp2)
          nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.
 Expression nullif(Number arg1, Number arg2)
          nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.
 Expression nullif(String arg1, String arg2)
          nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.
 Expression nullLiteral()
          Create an Expression corresponding to a null value.
 QueryDefinition orderBy(List<OrderByItem> orderByItemList)
          Specify the items of the select list that are used in ordering the query results.
 QueryDefinition orderBy(OrderByItem... orderByItems)
          Specify the items of the select list that are used in ordering the query results.
 Expression param(String name)
          Specify use of a parameter of the given name.
 Predicate predicate(boolean b)
          Create a predicate value from the given boolean.
 QueryDefinition select(List<SelectItem> items)
          Specify the objects / values to be returned.
 QueryDefinition select(SelectItem... items)
          Specify the objects / values to be returned.
 QueryDefinition selectDistinct(List<SelectItem> items)
          Specify the objects / values to be returned.
 QueryDefinition selectDistinct(SelectItem... items)
          Specify the objects / values to be returned.
 CaseExpression simpleCase(Calendar caseOperand)
          Create a simple case expression with the given case operand.
 CaseExpression simpleCase(Class caseOperand)
          Create a simple case expression with the given case operand.
 CaseExpression simpleCase(Date caseOperand)
          Create a simple case expression with the given case operand.
 CaseExpression simpleCase(Enum<?> caseOperand)
          Create a simple case expression with the given case operand.
 CaseExpression simpleCase(Expression caseOperand)
          Create a simple case expression with the given case operand.
 CaseExpression simpleCase(Number caseOperand)
          Create a simple case expression with the given case operand.
 CaseExpression simpleCase(String caseOperand)
          Create a simple case expression with the given case operand.
 Subquery some()
          Use the query definition object in a subquery in a some expression.
 QueryDefinition where(Predicate predicate)
          Modifies the query definition to restrict the result of the query according to the specified predicate.
 
Methods inherited from class org.apache.openjpa.persistence.query.ExpressionImpl
abs, asc, between, between, between, between, between, between, between, between, between, between, between, between, between, concat, concat, desc, dividedBy, dividedBy, equal, equal, equal, equal, equal, equal, equal, equal, getAliasHint, greaterEqual, greaterEqual, greaterEqual, greaterEqual, greaterEqual, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, in, in, in, in, in, in, isNull, length, lessEqual, lessEqual, lessEqual, lessEqual, lessEqual, lessThan, lessThan, lessThan, lessThan, lessThan, like, like, like, like, like, like, locate, locate, locate, locate, locate, locate, lower, member, minus, minus, minus, mod, mod, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, plus, plus, sqrt, substring, substring, substring, substring, substring, substring, times, times, trim, trim, trim, trim, trim, trim, upper
 
Methods inherited from class org.apache.openjpa.persistence.query.AbstractVisitable
asJoinable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.openjpa.persistence.query.PredicateOperand
between, between, between, between, between, between, between, between, between, between, between, between, between, equal, equal, equal, equal, equal, equal, equal, equal, greaterEqual, greaterEqual, greaterEqual, greaterEqual, greaterEqual, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, lessEqual, lessEqual, lessEqual, lessEqual, lessEqual, lessThan, lessThan, lessThan, lessThan, lessThan, like, like, like, like, like, like, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual
 
Methods inherited from interface org.apache.openjpa.persistence.query.Expression
abs, concat, concat, dividedBy, dividedBy, in, in, in, in, in, in, isNull, length, locate, locate, locate, locate, locate, locate, lower, member, minus, minus, minus, mod, mod, plus, plus, sqrt, substring, substring, substring, substring, substring, substring, times, times, trim, trim, trim, trim, trim, trim, upper
 
Methods inherited from interface org.apache.openjpa.persistence.query.SelectItem
asc, desc
 
Methods inherited from interface org.apache.openjpa.persistence.query.Visitable
asJoinable
 

Field Detail

_loc

protected static Localizer _loc
Constructor Detail

QueryDefinitionImpl

protected QueryDefinitionImpl(QueryBuilderImpl builder)
Parameters:
builder -
Method Detail

addRoot

public DomainObject addRoot(Class cls)
Root domain object has no parent, no path but a non-null Class.

Specified by:
addRoot in interface QueryDefinition
Parameters:
cls - - an entity class
Returns:
DomainObject corresponding to the specified entity class.

addSubqueryRoot

public DomainObject addSubqueryRoot(PathExpression path)
Description copied from interface: QueryDefinition
Add a root derived from a domain object of the containing query definition to a query definition used as a subquery. Provides support for correlated subqueries. Joins against the resulting domain object do not affect the query domain of the containing query. The path expression must correspond to an entity class. The path expression must not be a domain object of the containing query.

Specified by:
addSubqueryRoot in interface QueryDefinition
Parameters:
path - - path expression corresponding to the domain object used to derive the subquery root.
Returns:
the subquery DomainObject

hasDomain

boolean hasDomain(PathExpression path)

addDomain

protected <T extends AbstractDomainObject> T addDomain(T path)

all

public Subquery all()
Description copied from interface: QueryDefinition
Use the query definition object in a subquery in an all expression.

Specified by:
all in interface QueryDefinition
Returns:
the resulting Subquery

any

public Subquery any()
Description copied from interface: QueryDefinition
Use the query definition object in a subquery in an any expression.

Specified by:
any in interface QueryDefinition
Returns:
the resulting Subquery

coalesce

public Expression coalesce(Expression... exp)
Description copied from interface: QueryDefinition
coalesce This is equivalent to a case expression that returns null if all its arguments evaluate to null, and the value of its first non-null argument otherwise.

Specified by:
coalesce in interface QueryDefinition
Parameters:
exp - - expressions to be used for testing against null
Returns:
Expression corresponding to the given coalesce expression

coalesce

public Expression coalesce(String... exp)
Description copied from interface: QueryDefinition
coalesce This is equivalent to a case expression that returns null if all its arguments evaluate to null, and the value of its first non-null argument otherwise.

Specified by:
coalesce in interface QueryDefinition
Parameters:
exp - - expressions to be used for testing against null
Returns:
Expression corresponding to the given coalesce expression

coalesce

public Expression coalesce(Date... exp)
Description copied from interface: QueryDefinition
coalesce This is equivalent to a case expression that returns null if all its arguments evaluate to null, and the value of its first non-null argument otherwise.

Specified by:
coalesce in interface QueryDefinition
Parameters:
exp - - expressions to be used for testing against null
Returns:
Expression corresponding to the given coalesce expression

coalesce

public Expression coalesce(Calendar... exp)
Description copied from interface: QueryDefinition
coalesce This is equivalent to a case expression that returns null if all its arguments evaluate to null, and the value of its first non-null argument otherwise.

Specified by:
coalesce in interface QueryDefinition
Parameters:
exp - - expressions to be used for testing against null
Returns:
Expression corresponding to the given coalesce expression

currentDate

public Expression currentDate()
Description copied from interface: QueryDefinition
Create an Expression corresponding to the current date on the database server at the time of query execution.

Specified by:
currentDate in interface QueryDefinition
Returns:
the corresponding Expression

currentTime

public Expression currentTime()
Description copied from interface: QueryDefinition
Create an Expression corresponding to the current time on the database server at the time of query execution.

Specified by:
currentTime in interface QueryDefinition
Returns:
the corresponding Expression

currentTimestamp

public Expression currentTimestamp()
Description copied from interface: QueryDefinition
Create an Expression corresponding to the current timestamp on the database server at the time of query execution.

Specified by:
currentTimestamp in interface QueryDefinition
Returns:
the corresponding Expression

exists

public Predicate exists()
Description copied from interface: QueryDefinition
Use the query definition instance as a subquery in an exists predicate.

Specified by:
exists in interface QueryDefinition
Returns:
the resulting predicate

generalCase

public CaseExpression generalCase()
Description copied from interface: QueryDefinition
Create an empty general case expression. A general case expression is of the form:

generalCase() .when(conditional-predicate).then(scalar-expression) .when(conditional-predicate).then(scalar-expression) ... .elseCase(scalar-expression)

Specified by:
generalCase in interface QueryDefinition
Returns:
empty general case expression

groupBy

public QueryDefinition groupBy(PathExpression... pathExprs)
Description copied from interface: QueryDefinition
Specify the items that are used to form groups over the query results. Replaces the previous group-by list, if any.

Specified by:
groupBy in interface QueryDefinition
Returns:
the modified QueryDefinition instance

groupBy

public QueryDefinition groupBy(List<PathExpression> pathExprList)
Description copied from interface: QueryDefinition
Specify the items that are used to form groups over the query results. Replaces the previous group-by list, if any.

Specified by:
groupBy in interface QueryDefinition
Returns:
the modified QueryDefinition instance

having

public QueryDefinition having(Predicate predicate)
Description copied from interface: QueryDefinition
Specify the restrictions over the groups of a query. Replaces the previous having restriction(s), if any.

Specified by:
having in interface QueryDefinition
Returns:
the modified QueryDefinition Instance

literal

public Expression literal(String s)
Description copied from interface: QueryDefinition
Create an Expression corresponding to a String value.

Specified by:
literal in interface QueryDefinition
Parameters:
s - - string value
Returns:
the corresponding Expression literal

literal

public Expression literal(Number n)
Description copied from interface: QueryDefinition
Create an Expression corresponding to a numeric value.

Specified by:
literal in interface QueryDefinition
Parameters:
n - - numeric value
Returns:
the corresponding Expression literal

literal

public Expression literal(boolean b)
Description copied from interface: QueryDefinition
Create an Expression corresponding to a boolean value.

Specified by:
literal in interface QueryDefinition
Parameters:
b - - boolean value
Returns:
the corresponding Expression literal

literal

public Expression literal(Calendar c)
Description copied from interface: QueryDefinition
Create an Expression corresponding to a Calendar value.

Specified by:
literal in interface QueryDefinition
Parameters:
c - - Calendar value
Returns:
the corresponding Expression literal

literal

public Expression literal(Date d)
Description copied from interface: QueryDefinition
Create an Expression corresponding to a Date value.

Specified by:
literal in interface QueryDefinition
Parameters:
d - - Date value
Returns:
the corresponding Expression literal

literal

public Expression literal(char c)
Description copied from interface: QueryDefinition
Create an Expression corresponding to a character value.

Specified by:
literal in interface QueryDefinition
Returns:
the corresponding Expression literal

literal

public Expression literal(Class cls)
Description copied from interface: QueryDefinition
Create an Expression corresponding to an entity class.

Specified by:
literal in interface QueryDefinition
Parameters:
cls - - entity class
Returns:
the corresponding Expression literal

literal

public Expression literal(Enum<?> e)
Description copied from interface: QueryDefinition
Create an Expression corresponding to an enum.

Specified by:
literal in interface QueryDefinition
Parameters:
e - - enum
Returns:
the corresponding Expression literal

nullLiteral

public Expression nullLiteral()
Description copied from interface: QueryDefinition
Create an Expression corresponding to a null value.

Specified by:
nullLiteral in interface QueryDefinition
Returns:
the corresponding Expression literal

newInstance

public SelectItem newInstance(Class cls,
                              SelectItem... args)
Description copied from interface: QueryDefinition
Specify that a constructor for the given class is to be applied to the corresponding query results after the query is executed. The class must have a constructor that accepts the Java argument types corresponding to the given select items.

Specified by:
newInstance in interface QueryDefinition
Parameters:
cls - - a class with the correponding constructor
args - - select items that correspond to result types that are valid as arguments to the constructor

nullif

public Expression nullif(Expression exp1,
                         Expression exp2)
Description copied from interface: QueryDefinition
nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.

Specified by:
nullif in interface QueryDefinition
Returns:
Expression corresponding to the given nullif expression

nullif

public Expression nullif(Number arg1,
                         Number arg2)
Description copied from interface: QueryDefinition
nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.

Specified by:
nullif in interface QueryDefinition
Returns:
Expression corresponding to the given nullif expression

nullif

public Expression nullif(String arg1,
                         String arg2)
Description copied from interface: QueryDefinition
nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.

Specified by:
nullif in interface QueryDefinition
arg2 - Criteria API Java Persistence 2.0, Public Review Draft Criteria API Interfaces 10/31/08 158 JSR-317 Public Review Draft Sun Microsystems, Inc.
Returns:
Expression corresponding to the given nullif expression

nullif

public Expression nullif(Date arg1,
                         Date arg2)
Description copied from interface: QueryDefinition
nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.

Specified by:
nullif in interface QueryDefinition
Returns:
Expression corresponding to the given nullif expression

nullif

public Expression nullif(Calendar arg1,
                         Calendar arg2)
Description copied from interface: QueryDefinition
nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.

Specified by:
nullif in interface QueryDefinition
Returns:
Expression corresponding to the given nullif expression

nullif

public Expression nullif(Class arg1,
                         Class arg2)
Description copied from interface: QueryDefinition
nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.

Specified by:
nullif in interface QueryDefinition
Returns:
Expression corresponding to the given nullif expression

nullif

public Expression nullif(Enum<?> arg1,
                         Enum<?> arg2)
Description copied from interface: QueryDefinition
nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.

Specified by:
nullif in interface QueryDefinition
Returns:
Expression corresponding to the given nullif expression

orderBy

public QueryDefinition orderBy(OrderByItem... orderByItems)
Description copied from interface: QueryDefinition
Specify the items of the select list that are used in ordering the query results. Replaces the previous order-by list, if any.

Specified by:
orderBy in interface QueryDefinition
Parameters:
orderByItems - - one or more OrderByItem instances
Returns:
the modified QueryDefinition instance

orderBy

public QueryDefinition orderBy(List<OrderByItem> orderByItemList)
Description copied from interface: QueryDefinition
Specify the items of the select list that are used in ordering the query results. Replaces the previous order-by list, if any.

Specified by:
orderBy in interface QueryDefinition
Parameters:
orderByItemList - - a list containing one or more OrderByItem instances
Returns:
the modified QueryDefinition instance

param

public Expression param(String name)
Description copied from interface: QueryDefinition
Specify use of a parameter of the given name.

Specified by:
param in interface QueryDefinition
Returns:
an Expression corresponding to a named parameter

predicate

public Predicate predicate(boolean b)
Description copied from interface: QueryDefinition
Create a predicate value from the given boolean.

Specified by:
predicate in interface QueryDefinition
Parameters:
b - boolean value
Returns:
a true or false predicate

select

public QueryDefinition select(SelectItem... items)
Description copied from interface: QueryDefinition
Specify the objects / values to be returned. Replaces the previous select list, if any. If no select items are specified and there is only one query root, the root entity is assumed to be the result.

Specified by:
select in interface QueryDefinition
Parameters:
items - - one or more SelectItem instances
Returns:
the modified query definition instance

select

public QueryDefinition select(List<SelectItem> items)
Description copied from interface: QueryDefinition
Specify the objects / values to be returned. Replaces the previous select list, if any. If no select items are specified and there is only one query root, the root entity is assumed to be the result.

Specified by:
select in interface QueryDefinition
Parameters:
items - - a list containing one or more SelectItem instances
Returns:
the modified query definition instance

selectDistinct

public QueryDefinition selectDistinct(SelectItem... items)
Description copied from interface: QueryDefinition
Specify the objects / values to be returned. Duplicate results will be eliminated. Replaces the previous select list, if any. If no select items are specified and there is only one query root, the root entity is assumed to be the result.

Specified by:
selectDistinct in interface QueryDefinition
Parameters:
items - - one or more SelectItem instances
Returns:
the modified query definition instance

selectDistinct

public QueryDefinition selectDistinct(List<SelectItem> items)
Description copied from interface: QueryDefinition
Specify the objects / values to be returned. Duplicate results will be eliminated. Replaces the previous select list, if any. If no select items are specified, and there is only one query root, the root entity is assumed to be the result. is assumed to be the result.

Specified by:
selectDistinct in interface QueryDefinition
Parameters:
items - - a list containing one or more SelectItem instances
Returns:
the modified query definition instance

simpleCase

public CaseExpression simpleCase(Expression caseOperand)
Description copied from interface: QueryDefinition
Create a simple case expression with the given case operand. A simple case expression is of the form:

simpleCase(case-operand) .when(scalar-expression).then(scalar-expression) .when(scalar-expression).then(scalar-expression) ... .elseCase(scalar-expression)

Specified by:
simpleCase in interface QueryDefinition
Parameters:
caseOperand - - expression used for testing against the when scalar expressions
Returns:
case expression with the given case operand

simpleCase

public CaseExpression simpleCase(Number caseOperand)
Description copied from interface: QueryDefinition
Create a simple case expression with the given case operand. A simple case expression is of the form:

simpleCase(case-operand) .when(scalar-expression).then(scalar-expression) .when(scalar-expression).then(scalar-expression) ... .elseCase(scalar-expression)

Specified by:
simpleCase in interface QueryDefinition
Parameters:
caseOperand - - numeric value used for testing against the when scalar expressions
Returns:
case expression with the given case operand

simpleCase

public CaseExpression simpleCase(String caseOperand)
Description copied from interface: QueryDefinition
Create a simple case expression with the given case operand. A simple case expression is of the form:

simpleCase(case-operand) .when(scalar-expression).then(scalar-expression) .when(scalar-expression).then(scalar-expression) ... .elseCase(scalar-expression)

Specified by:
simpleCase in interface QueryDefinition
Parameters:
caseOperand - - value used for testing against the when scalar expressions
Returns:
case expression with the given case operand

simpleCase

public CaseExpression simpleCase(Date caseOperand)
Description copied from interface: QueryDefinition
Create a simple case expression with the given case operand. A simple case expression is of the form:

simpleCase(case-operand) .when(scalar-expression).then(scalar-expression) .when(scalar-expression).then(scalar-expression) ... .elseCase(scalar-expression)

Specified by:
simpleCase in interface QueryDefinition
Parameters:
caseOperand - - value used for testing against the when scalar expressions
Returns:
case expression with the given case operand

simpleCase

public CaseExpression simpleCase(Calendar caseOperand)
Description copied from interface: QueryDefinition
Create a simple case expression with the given case operand. A simple case expression is of the form:

simpleCase(case-operand) .when(scalar-expression).then(scalar-expression) .when(scalar-expression).then(scalar-expression) ... .elseCase(scalar-expression)

Specified by:
simpleCase in interface QueryDefinition
Parameters:
caseOperand - - value used for testing against the when scalar expressions
Returns:
case expression with the given case operand

simpleCase

public CaseExpression simpleCase(Class caseOperand)
Description copied from interface: QueryDefinition
Create a simple case expression with the given case operand. A simple case expression is of the form:

simpleCase(case-operand) .when(scalar-expression).then(scalar-expression) .when(scalar-expression).then(scalar-expression) ... .elseCase(scalar-expression)

Specified by:
simpleCase in interface QueryDefinition
Parameters:
caseOperand - - value used for testing against the when scalar expressions
Returns:
case expression with the given case operand

simpleCase

public CaseExpression simpleCase(Enum<?> caseOperand)
Description copied from interface: QueryDefinition
Create a simple case expression with the given case operand. A simple case expression is of the form:

simpleCase(case-operand) .when(scalar-expression).then(scalar-expression) .when(scalar-expression).then(scalar-expression) ... .elseCase(scalar-expression)

Specified by:
simpleCase in interface QueryDefinition
Parameters:
caseOperand - - value used for testing against the when scalar expressions
Returns:
case expression with the given case operand

some

public Subquery some()
Description copied from interface: QueryDefinition
Use the query definition object in a subquery in a some expression.

Specified by:
some in interface QueryDefinition
Returns:
the resulting Subquery

where

public QueryDefinition where(Predicate predicate)
Description copied from interface: QueryDefinition
Modifies the query definition to restrict the result of the query according to the specified predicate. Replaces the previously added restriction(s), if any.

Specified by:
where in interface QueryDefinition
Parameters:
predicate - - a simple or compound conditional predicate
Returns:
the modified QueryDefinition instance

asExpression

public String asExpression(AliasContext ctx)
Description copied from interface: Visitable
Get a JPQL fragment as used in WHERE clause.

Specified by:
asExpression in interface Visitable
Overrides:
asExpression in class AbstractVisitable

asProjection

public String asProjection(AliasContext ctx)
Description copied from interface: Visitable
Gets the string representation in SELECT projection.

Specified by:
asProjection in interface Visitable
Overrides:
asProjection in class AbstractVisitable

fillBuffer

public void fillBuffer(String header,
                       StringBuilder buffer,
                       AliasContext ctx,
                       List list,
                       org.apache.openjpa.persistence.query.QueryDefinitionImpl.Visit visit)

fillBuffer

public void fillBuffer(String header,
                       StringBuilder buffer,
                       AliasContext ctx,
                       Predicate p)


Copyright © 2006-2012 Apache Software Foundation. All Rights Reserved.