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 Details

    • 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 Details

    • ObjectIdQuery

      public ObjectIdQuery​(ObjectId objectID)
      Creates a refreshing ObjectIdQuery.
    • ObjectIdQuery

      public ObjectIdQuery​(ObjectId objectId, boolean fetchingDataRows, int cachePolicy)
      Creates a new ObjectIdQuery.
  • Method Details

    • 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