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 IndirectQuery

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

All Implemented Interfaces:
  Serializable, ConfigurationNode, Query

Direct Known Subclasses:
  NamedQuery, ObjectIdQuery, RelationshipQuery

    public abstract class IndirectQuery

extends Object
implements Query

A convenience superclass of the queries that resolve into some other queries during the routing phase. Provides caching of a replacement query.

Since:
  1.2
See Also:
  Serialized Form

Field Summary
`protected DataMap` | `dataMap`
`protected EntityResolver` | `lastResolver`
`protected String` | `name`
`protected Query` | `replacementQuery`

Constructor Summary
`IndirectQuery()`

Method Summary
`
`<T> T`
` | `acceptVisitor(ConfigurationNodeVisitor<T> visitor)`
`protected abstract Query` | `createReplacementQuery(EntityResolver resolver)` Creates a substitute query.
`SQLAction` | `createSQLAction(SQLActionVisitor visitor)` Throws an exception as indirect query should not be executed directly.
`DataMap` | `getDataMap()`
`QueryMetadata` | `getMetaData(EntityResolver resolver)` Returns the metadata obtained from the replacement query.
`String` | `getName()` Returns a symbolic name of the query.
`protected Query` | `getReplacementQuery(EntityResolver resolver)` Returns a replacement query, creating it on demand and caching it for reuse.
`void` | `route(QueryRouter router, EntityResolver resolver, Query substitutedQuery)` Delegates routing to a replacement query.
`void` | `setDataMap(DataMap dataMap)`
`void` | `setName(String name)`

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

Field Detail

### name

    protected String name

### dataMap

    protected DataMap dataMap

Since:
  3.1

### replacementQuery

    protected transient Query replacementQuery

### lastResolver

    protected transient EntityResolver lastResolver

Constructor Detail

### IndirectQuery

    public IndirectQuery()

Method Detail

### acceptVisitor

    public <T> T acceptVisitor(ConfigurationNodeVisitor<T> visitor)

  Specified by:
    `acceptVisitor` in interface `ConfigurationNode`
  Since:
    3.1

### getDataMap

    public DataMap getDataMap()

  Specified by:
    `getDataMap` in interface `Query`
  Since:
    3.1

### setDataMap

    public void setDataMap(DataMap dataMap)

  Since:
    3.1

### getMetaData

    public QueryMetadata getMetaData(EntityResolver resolver)

  Returns the metadata obtained from the replacement query.

  Specified by:
    `getMetaData` in interface `Query`

### getName

    public String getName()

  Description copied from interface: `Query`
  Returns a symbolic name of the query. The name is normally used as a key to find queries stored in the DataMap.

  Specified by:
    `getName` in interface `Query`

### setName

    public void setName(String name)

### route

    public void route(QueryRouter router,
                      EntityResolver resolver,
                      Query substitutedQuery)

  Delegates routing to a replacement query.

  Specified by:
    `route` in interface `Query`

### createReplacementQuery

    protected abstract Query createReplacementQuery(EntityResolver resolver)

  Creates a substitute query. An implementor is free to provide an arbitrary replacement query.

### getReplacementQuery

    protected Query getReplacementQuery(EntityResolver resolver)

  Returns a replacement query, creating it on demand and caching it for reuse.

### createSQLAction

    public SQLAction createSQLAction(SQLActionVisitor visitor)

  Throws an exception as indirect query should not be executed directly.

  Specified by:
    `createSQLAction` in interface `Query`

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–2014 Apache Cayenne. All rights reserved.