org.apache.cayenne.access.jdbc
Class EJBQLJoinAppender

java.lang.Object
  extended by org.apache.cayenne.access.jdbc.EJBQLJoinAppender

public class EJBQLJoinAppender
extends Object

Handles appending joins to the content buffer at a marked position.

Since:
3.0

Field Summary
protected  EJBQLTranslationContext context
           
 
Constructor Summary
EJBQLJoinAppender(EJBQLTranslationContext context)
           
 
Method Summary
 void appendInnerJoin(String marker, org.apache.cayenne.access.jdbc.EJBQLTableId lhsId, org.apache.cayenne.access.jdbc.EJBQLTableId rhsId)
           
protected  void appendJoin(String marker, org.apache.cayenne.access.jdbc.EJBQLTableId lhsId, org.apache.cayenne.access.jdbc.EJBQLTableId rhsId, String semantics)
           
 void appendOuterJoin(String marker, org.apache.cayenne.access.jdbc.EJBQLTableId lhsId, org.apache.cayenne.access.jdbc.EJBQLTableId rhsId)
           
 String appendTable(org.apache.cayenne.access.jdbc.EJBQLTableId id)
           
 String registerReusableJoin(String sourceIdPath, String relationship, String targetId)
          Registers a "reusable" join, returning a preexisting ID if the join is already registered.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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.jdbc.EJBQLTableId lhsId,
                            org.apache.cayenne.access.jdbc.EJBQLTableId rhsId)

appendOuterJoin

public void appendOuterJoin(String marker,
                            org.apache.cayenne.access.jdbc.EJBQLTableId lhsId,
                            org.apache.cayenne.access.jdbc.EJBQLTableId rhsId)

appendJoin

protected void appendJoin(String marker,
                          org.apache.cayenne.access.jdbc.EJBQLTableId lhsId,
                          org.apache.cayenne.access.jdbc.EJBQLTableId rhsId,
                          String semantics)

appendTable

public String appendTable(org.apache.cayenne.access.jdbc.EJBQLTableId id)


Copyright © 2001-2011 Apache Cayenne. All Rights Reserved.