Package io.ebeaninternal.api
Class ManyWhereJoins
- java.lang.Object
-
- io.ebeaninternal.api.ManyWhereJoins
-
- All Implemented Interfaces:
Serializable
public class ManyWhereJoins extends Object implements Serializable
Holds the joins needs to support the many where predicates. These joins are independent of any 'fetch' joins on the many.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ManyWhereJoins()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(ElPropertyDeploy elProp)
Add a many where join.void
addAggregationJoin(String property)
Ensure we have the join required to support the aggregation properties.void
addFormulaWithJoin(String propertyName)
In findCount query found a formula property with a join clause so building a select clause specifically for the findCount query.List<String>
getFormulaJoinProperties()
Return the formula properties to build the select clause for a findCount query.Collection<PropertyJoin>
getPropertyJoins()
Return the set of many where joins.TreeSet<String>
getPropertyNames()
Return the set of property names for the many where joins.boolean
isFormulaWithJoin()
Return true if the query select includes a formula with join.boolean
isRequireOuterJoins()
Return the current 'mode' indicating if outer joins are currently required or not.boolean
requireSqlDistinct()
Return true if this is an aggregation query or if there are no extra many where joins.void
setAggregation()
Mark this as part of an aggregation query (so using group by clause).void
setRequireOuterJoins(boolean requireOuterJoins)
Set the 'mode' to be that joins added are required to be outer joins.
-
-
-
Constructor Detail
-
ManyWhereJoins
public ManyWhereJoins()
-
-
Method Detail
-
isRequireOuterJoins
public boolean isRequireOuterJoins()
Return the current 'mode' indicating if outer joins are currently required or not.
-
setRequireOuterJoins
public void setRequireOuterJoins(boolean requireOuterJoins)
Set the 'mode' to be that joins added are required to be outer joins. This is set during the evaluation of disjunction predicates.
-
add
public void add(ElPropertyDeploy elProp)
Add a many where join.
-
requireSqlDistinct
public boolean requireSqlDistinct()
Return true if this is an aggregation query or if there are no extra many where joins.
-
getPropertyJoins
public Collection<PropertyJoin> getPropertyJoins()
Return the set of many where joins.
-
getPropertyNames
public TreeSet<String> getPropertyNames()
Return the set of property names for the many where joins.
-
addFormulaWithJoin
public void addFormulaWithJoin(String propertyName)
In findCount query found a formula property with a join clause so building a select clause specifically for the findCount query.
-
isFormulaWithJoin
public boolean isFormulaWithJoin()
Return true if the query select includes a formula with join.
-
getFormulaJoinProperties
public List<String> getFormulaJoinProperties()
Return the formula properties to build the select clause for a findCount query.
-
setAggregation
public void setAggregation()
Mark this as part of an aggregation query (so using group by clause).
-
addAggregationJoin
public void addAggregationJoin(String property)
Ensure we have the join required to support the aggregation properties.
-
-