Package net.sf.basedb.core.query
Class AnnotationJoin
- java.lang.Object
-
- net.sf.basedb.core.query.AnnotationJoin
-
- All Implemented Interfaces:
Join
,QueryElement
public class AnnotationJoin extends Object implements Join
Join annotations values to the query. The value is available as the joined alias.Throws an
UnsupportedOperationException
ifQuery.getQueryType()
isn'tQueryType.HQL
.- Since:
- 3.2
- Author:
- Nicklas
- See Also:
Annotations.innerJoin(AnnotationType, String)
,Annotations.leftJoin(AnnotationType, String)
- Last modified
- $Date$
-
-
Field Summary
Fields Modifier and Type Field Description private String
alias
private AnnotationType
annotationType
private String
joinedAlias
private JoinType
joinType
-
Constructor Summary
Constructors Constructor Description AnnotationJoin(JoinType joinType, String alias, AnnotationType annotationType, String joinedAlias)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object other)
This join is equal to another AnnotationJoin if they join to the same annotation type with the same alias.Collection<? extends QueryElement>
getChildren()
Get the children of this query element or null if it has no children.String
getThetaJoin(Query query, DbControl dc)
String
getThetaJoinCondition(Query query, DbControl dc)
int
hashCode()
String
toQl(Query query, DbControl dc)
Create a query language string of the query element.String
toString()
-
-
-
Field Detail
-
joinType
private final JoinType joinType
-
alias
private final String alias
-
annotationType
private final AnnotationType annotationType
-
joinedAlias
private final String joinedAlias
-
-
Constructor Detail
-
AnnotationJoin
AnnotationJoin(JoinType joinType, String alias, AnnotationType annotationType, String joinedAlias)
-
-
Method Detail
-
toQl
public String toQl(Query query, DbControl dc) throws BaseException
Description copied from interface:QueryElement
Create a query language string of the query element. Use theQuery.getQueryType()
method to find out which query language is wanted in case the element requires different syntax for different languages.- Specified by:
toQl
in interfaceQueryElement
- Parameters:
query
- The query that is about to be executeddc
- TheDbControl
object used to execute the query- Throws:
BaseException
- If there is any other error
-
getChildren
public Collection<? extends QueryElement> getChildren()
Description copied from interface:QueryElement
Get the children of this query element or null if it has no children. For example theAddExpression
has two children, the expression beeing added.- Specified by:
getChildren
in interfaceQueryElement
- Returns:
- Always null
-
getThetaJoin
public String getThetaJoin(Query query, DbControl dc) throws BaseException
- Specified by:
getThetaJoin
in interfaceJoin
- Throws:
BaseException
-
getThetaJoinCondition
public String getThetaJoinCondition(Query query, DbControl dc) throws BaseException
- Specified by:
getThetaJoinCondition
in interfaceJoin
- Throws:
BaseException
-
equals
public boolean equals(Object other)
This join is equal to another AnnotationJoin if they join to the same annotation type with the same alias.
-
-