Class EJBQLJoinAppender
- java.lang.Object
-
- org.apache.cayenne.access.translator.ejbql.EJBQLJoinAppender
-
public class EJBQLJoinAppender extends Object
Handles appending joins to the content buffer at a marked position.- Since:
- 3.0
-
-
Field Summary
Fields Modifier and Type Field Description protected EJBQLTranslationContextcontext
-
Constructor Summary
Constructors Constructor Description EJBQLJoinAppender(EJBQLTranslationContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidappendInnerJoin(String marker, org.apache.cayenne.access.translator.ejbql.EJBQLTableId lhsId, org.apache.cayenne.access.translator.ejbql.EJBQLTableId rhsId)protected voidappendJoin(String marker, org.apache.cayenne.access.translator.ejbql.EJBQLTableId lhsId, org.apache.cayenne.access.translator.ejbql.EJBQLTableId rhsId, String semantics)voidappendOuterJoin(String marker, org.apache.cayenne.access.translator.ejbql.EJBQLTableId lhsId, org.apache.cayenne.access.translator.ejbql.EJBQLTableId rhsId)StringappendTable(org.apache.cayenne.access.translator.ejbql.EJBQLTableId id)StringregisterReusableJoin(String sourceIdPath, String relationship, String targetId)Registers a "reusable" join, returning a preexisting ID if the join is already registered.
-
-
-
Field Detail
-
context
protected EJBQLTranslationContext context
-
-
Constructor Detail
-
EJBQLJoinAppender
public EJBQLJoinAppender(EJBQLTranslationContext context)
-
-
Method Detail
-
registerReusableJoin
public String registerReusableJoin(String sourceIdPath, String relationship, String targetId)
Registers a "reusable" join, returning a preexisting ID if the join is already registered. Reusable joins are the implicit inner joins that are added as a result of processing of path expressions in SELECT or WHERE clauses. Note that if an implicit INNER join overlaps with an explicit INNER join, both joins are added to the query.
-
appendInnerJoin
public void appendInnerJoin(String marker, org.apache.cayenne.access.translator.ejbql.EJBQLTableId lhsId, org.apache.cayenne.access.translator.ejbql.EJBQLTableId rhsId)
-
appendOuterJoin
public void appendOuterJoin(String marker, org.apache.cayenne.access.translator.ejbql.EJBQLTableId lhsId, org.apache.cayenne.access.translator.ejbql.EJBQLTableId rhsId)
-
appendJoin
protected void appendJoin(String marker, org.apache.cayenne.access.translator.ejbql.EJBQLTableId lhsId, org.apache.cayenne.access.translator.ejbql.EJBQLTableId rhsId, String semantics)
-
appendTable
public String appendTable(org.apache.cayenne.access.translator.ejbql.EJBQLTableId id)
-
-