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.query
Class RelationshipQuery

    java.lang.Object
      org.apache.cayenne.query.IndirectQuery
          org.apache.cayenne.query.RelationshipQuery

All Implemented Interfaces:
  java.io.Serializable, ConfigurationNode, Query

    public class RelationshipQuery

extends IndirectQuery

A query that selects objects related to a given object via a mapped relationship. RelationshipQuery is used by Cayenne internally to resolve relationships, and is rarely executed by the application directly, although this of course is possible too.

Since:
  1.2
See Also:
  Serialized Form

Field Summary
`protected ArcProperty` | `arc`
`protected QueryMetadata` | `metadata`
`protected EntityResolver` | `metadataResolver`
`protected ObjectId` | `objectId`
`protected boolean` | `refreshing`
`protected java.lang.String` | `relationshipName`
`protected int` | `statementFetchSize`

Fields inherited from class org.apache.cayenne.query.IndirectQuery
`dataMap, lastResolver, name, replacementQuery`

Constructor Summary
`RelationshipQuery(ObjectId objectID, java.lang.String relationshipName)` Creates a RelationshipQuery.
`RelationshipQuery(ObjectId objectID, java.lang.String relationshipName, boolean refreshing)` Creates a RelationshipQuery.

Method Summary
`protected Query` | `createReplacementQuery(EntityResolver resolver)` Creates a substitute query.
`QueryMetadata` | `getMetaData(EntityResolver resolver)` Returns query metadata object.
`ObjectId` | `getObjectId()`
`ObjRelationship` | `getRelationship(EntityResolver resolver)` Returns a non-null relationship object for this query.
`java.lang.String` | `getRelationshipName()`
`int` | `getStatementFetchSize()`
`boolean` | `isRefreshing()`
`void` | `setStatementFetchSize(int size)` Sets statement's fetch size (0 for no default size)
`java.lang.String` | `toString()` Overrides toString() outputting a short string with query class and relationship name.

Methods inherited from class org.apache.cayenne.query.IndirectQuery
`acceptVisitor, createSQLAction, getDataMap, getName, getReplacementQuery, route, setDataMap, setName`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### objectId

    protected ObjectId objectId

### relationshipName

    protected java.lang.String relationshipName

### refreshing

    protected boolean refreshing

### statementFetchSize

    protected int statementFetchSize

### metadataResolver

    protected transient EntityResolver metadataResolver

### metadata

    protected transient QueryMetadata metadata

### arc

    protected transient ArcProperty arc

Constructor Detail

### RelationshipQuery

    public RelationshipQuery(ObjectId objectID,
                             java.lang.String relationshipName)

  Creates a RelationshipQuery. Same as new RelationshipQuery(objectID, relationshipName, true).

  Parameters:
    `objectID` - ObjectId of a root object of the relationship.
    `relationshipName` - The name of the relationship.

### RelationshipQuery

    public RelationshipQuery(ObjectId objectID,
                             java.lang.String relationshipName,
                             boolean refreshing)

  Creates a RelationshipQuery.

  Parameters:
    `objectID` - ObjectId of a root object of the relationship.
    `relationshipName` - The name of the relationship.
    `refreshing` - whether objects should be refreshed

Method Detail

### getMetaData

    public QueryMetadata getMetaData(EntityResolver resolver)

  Returns query metadata object.

  Specified by:
    `getMetaData` in interface `Query`
  Overrides:
    `getMetaData` in class `IndirectQuery`

### getObjectId

    public ObjectId getObjectId()

### isRefreshing

    public boolean isRefreshing()

### getRelationshipName

    public java.lang.String getRelationshipName()

### createReplacementQuery

    protected Query createReplacementQuery(EntityResolver resolver)

  Description copied from class: `IndirectQuery`
  Creates a substitute query. An implementor is free to provide an arbitrary replacement query.

  Specified by:
    `createReplacementQuery` in class `IndirectQuery`

### getRelationship

    public ObjRelationship getRelationship(EntityResolver resolver)

  Returns a non-null relationship object for this query.

### setStatementFetchSize

    public void setStatementFetchSize(int size)

  Sets statement's fetch size (0 for no default size)

  Since:
    3.0

### getStatementFetchSize

    public int getStatementFetchSize()

  Returns:
    statement's fetch size
  Since:
    3.0

### toString

    public java.lang.String toString()

  Overrides toString() outputting a short string with query class and relationship name.

  Overrides:
    `toString` in class `java.lang.Object`

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-2012 Apache Cayenne. All Rights Reserved.