Class QueryMetadataProxy

java.lang.Object
org.apache.cayenne.query.QueryMetadataProxy
All Implemented Interfaces:
QueryMetadata

public class QueryMetadataProxy extends Object implements QueryMetadata
Since:
4.0
  • Field Details

  • Constructor Details

    • QueryMetadataProxy

      protected QueryMetadataProxy(QueryMetadata mdDelegate)
  • Method Details

    • getCacheGroup

      public String getCacheGroup()
      Description copied from interface: QueryMetadata
      Returns an optional cache "group". Cache groups allow to invalidate query caches in bulk on different events.
      Specified by:
      getCacheGroup in interface QueryMetadata
    • getCacheKey

      public String getCacheKey()
      Description copied from interface: QueryMetadata
      Returns a String that uniquely identifies this query for the purposes of result caching. If null is returned, no caching is performed.
      Specified by:
      getCacheKey in interface QueryMetadata
    • getCacheStrategy

      public QueryCacheStrategy getCacheStrategy()
      Description copied from interface: QueryMetadata
      Returns a caching strategy for this query.
      Specified by:
      getCacheStrategy in interface QueryMetadata
    • getClassDescriptor

      public ClassDescriptor getClassDescriptor()
      Specified by:
      getClassDescriptor in interface QueryMetadata
    • getDataMap

      public DataMap getDataMap()
      Description copied from interface: QueryMetadata
      Returns a DataMap associated with a query or null if no such DataMap exists.
      Specified by:
      getDataMap in interface QueryMetadata
    • getDbEntity

      public DbEntity getDbEntity()
      Description copied from interface: QueryMetadata
      Returns a DbEntity associated with a query or null if no such entity exists.
      Specified by:
      getDbEntity in interface QueryMetadata
    • getFetchLimit

      public int getFetchLimit()
      Description copied from interface: QueryMetadata
      Returns the limit on the maximum number of records that can be returned by this query. If the actual number of rows in the result exceeds the fetch limit, they will be discarded. One possible use of fetch limit is using it as a safeguard against large result sets that may lead to the application running out of memory, etc. If a fetch limit is greater or equal to zero, all rows will be returned.
      Specified by:
      getFetchLimit in interface QueryMetadata
      Returns:
      the limit on the maximum number of records that can be returned by this query
    • getFetchOffset

      public int getFetchOffset()
      Description copied from interface: QueryMetadata
      Specifies a start of a range when fetching a subset of records.
      Specified by:
      getFetchOffset in interface QueryMetadata
    • getObjEntity

      public ObjEntity getObjEntity()
      Description copied from interface: QueryMetadata
      Returns an ObjEntity associated with a query or null if no such entity exists.
      Specified by:
      getObjEntity in interface QueryMetadata
    • getOriginatingQuery

      public Query getOriginatingQuery()
      Description copied from interface: QueryMetadata
      Returns a query that originated this query. Originating query is a query whose result is needed to obtain the result of the query owning this metadata. Most often than not the returned value is null. One example of non-null originating query is a query for a range of objects in a previously fetched paginated list. The query that fetched the original paginated list is an "originated" query. It may be used to restore a list that got lost due to a cache overflow, etc.
      Specified by:
      getOriginatingQuery in interface QueryMetadata
    • getPageSize

      public int getPageSize()
      Description copied from interface: QueryMetadata
      Returns query page size. Page size is a hint to Cayenne that query should be performed page by page, instead of retrieving all results at once. If the value returned is less than or equal to zero, no paging should occur.
      Specified by:
      getPageSize in interface QueryMetadata
    • getPrefetchTree

      public PrefetchTreeNode getPrefetchTree()
      Description copied from interface: QueryMetadata
      Returns a root node of prefetch tree used by this query, or null of no prefetches are configured.
      Specified by:
      getPrefetchTree in interface QueryMetadata
    • getPathSplitAliases

      public Map<String,String> getPathSplitAliases()
      Description copied from interface: QueryMetadata
      Returns a map of aliases vs. expression subpaths that is used to build split joins.
      Specified by:
      getPathSplitAliases in interface QueryMetadata
    • getProcedure

      public Procedure getProcedure()
      Description copied from interface: QueryMetadata
      Returns a Procedure associated with a query or null if no such procedure exists.
      Specified by:
      getProcedure in interface QueryMetadata
    • getResultSetMapping

      public List<Object> getResultSetMapping()
      Description copied from interface: QueryMetadata
      Returns an optional list of result set mapping hints. Elements in the list can be either EntityResultSegment or ScalarResultSegment. The returned list can be null.
      Specified by:
      getResultSetMapping in interface QueryMetadata
    • isSingleResultSetMapping

      public boolean isSingleResultSetMapping()
      Specified by:
      isSingleResultSetMapping in interface QueryMetadata
      Returns:
      should the result be mapped to single object (scalar or entity)
      See Also:
    • isFetchingDataRows

      public boolean isFetchingDataRows()
      Description copied from interface: QueryMetadata
      Returns true if this query should produce a list of data rows as opposed to DataObjects, false for DataObjects. This is a hint to QueryEngine executing this query.
      Specified by:
      isFetchingDataRows in interface QueryMetadata
    • isRefreshingObjects

      public boolean isRefreshingObjects()
      Description copied from interface: QueryMetadata
      Returns true if the query results should replace any currently cached values, returns false otherwise. If QueryMetadata.isFetchingDataRows() returns true, this setting is not applicable and has no effect.
      Specified by:
      isRefreshingObjects in interface QueryMetadata
    • getStatementFetchSize

      public int getStatementFetchSize()
      Specified by:
      getStatementFetchSize in interface QueryMetadata
      Returns:
      statement's fetch size
    • getQueryTimeout

      public int getQueryTimeout()
      Specified by:
      getQueryTimeout in interface QueryMetadata
      Returns:
      query timeout
    • isSuppressingDistinct

      public boolean isSuppressingDistinct()
      Specified by:
      isSuppressingDistinct in interface QueryMetadata