Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.cayenne.access.jdbc
Class EJBQLJoinAppender

    java.lang.Object
      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)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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