org.apache.cayenne.query

## Class ObjectIdQuery

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

- All Implemented Interfaces:
    Serializable, Query

      public class ObjectIdQuery
      extends IndirectQuery

  A query that matches zero or one object or data row corresponding to the ObjectId. Used internally by Cayenne to lookup objects by id. Notice that cache policies of ObjectIdQuery are different from generic `QueryMetadata` cache policies. ObjectIdQuery is special - it is the only query that can be done against Cayenne main cache, thus cache handling is significantly different from all other of the queries.
  Since:
    1.2
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `CACHE`
    `static int` | `CACHE_NOREFRESH`
    `static int` | `CACHE_REFRESH`
    `protected int` | `cachePolicy`
    `protected boolean` | `fetchingDataRows`
    `protected QueryMetadata` | `metadata`
    `protected EntityResolver` | `metadataResolver`
    `protected ObjectId` | `objectId`

    - ### Fields inherited from class org.apache.cayenne.query.IndirectQuery

      `dataMap, lastResolver, name, replacementQuery`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ObjectIdQuery(ObjectId objectID)` Creates a refreshing ObjectIdQuery.
    `ObjectIdQuery(ObjectId objectId, boolean fetchingDataRows, int cachePolicy)` Creates a new ObjectIdQuery.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Query` | `createReplacementQuery(EntityResolver resolver)` Creates a substitute query.
    `boolean` | `equals(Object object)` An object is considered equal to this query if it is also a ObjectIdQuery with an equal ObjectId.
    `int` | `getCachePolicy()`
    `QueryMetadata` | `getMetaData(EntityResolver resolver)` Returns query metadata object.
    `ObjectId` | `getObjectId()`
    `int` | `hashCode()` Implements a standard hashCode contract considering custom 'equals' implementation.
    `boolean` | `isFetchAllowed()`
    `boolean` | `isFetchingDataRows()`
    `boolean` | `isFetchMandatory()`
    `String` | `toString()` Overrides toString() outputting a short string with query class and ObjectId.

    - ### Methods inherited from class org.apache.cayenne.query.IndirectQuery

      `createSQLAction, getDataMap, getName, getReplacementQuery, route, setDataMap, setName`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### CACHE

          public static final int CACHE

      See Also:
        Constant Field Values

    - #### CACHE_REFRESH

          public static final int CACHE_REFRESH

      See Also:
        Constant Field Values

    - #### CACHE_NOREFRESH

          public static final int CACHE_NOREFRESH

      See Also:
        Constant Field Values

    - #### objectId

          protected ObjectId objectId

    - #### cachePolicy

          protected int cachePolicy

    - #### fetchingDataRows

          protected boolean fetchingDataRows

    - #### metadataResolver

          protected transient EntityResolver metadataResolver

    - #### metadata

          protected transient QueryMetadata metadata

  - ### Constructor Detail

    - #### ObjectIdQuery

          public ObjectIdQuery(ObjectId objectID)

      Creates a refreshing ObjectIdQuery.

    - #### ObjectIdQuery

          public ObjectIdQuery(ObjectId objectId,
                               boolean fetchingDataRows,
                               int cachePolicy)

      Creates a new ObjectIdQuery.

  - ### 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()

    - #### 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`

    - #### getCachePolicy

          public int getCachePolicy()

    - #### isFetchMandatory

          public boolean isFetchMandatory()

    - #### isFetchAllowed

          public boolean isFetchAllowed()

    - #### isFetchingDataRows

          public boolean isFetchingDataRows()

    - #### toString

          public String toString()

      Overrides toString() outputting a short string with query class and ObjectId.
      Overrides:
        `toString` in class `Object`

    - #### equals

          public boolean equals(Object object)

      An object is considered equal to this query if it is also a ObjectIdQuery with an equal ObjectId.
      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Implements a standard hashCode contract considering custom 'equals' implementation.
      Overrides:
        `hashCode` in class `Object`

Copyright © 2001–2018 Apache Cayenne. All rights reserved.