net.sf.basedb.core
Interface QueryRuntimeFilter
- All Known Implementing Classes:
- Annotation.QueryRuntimeFilterImpl, AnnotationSet.QueryRuntimeFilterImpl, FileSet.QueryRuntimeFilterImpl, FileSetMember.QueryRuntimeFilterImpl, Group.QueryRuntimeFilterImpl, News.QueryRuntimeFilterImpl, Project.QueryRuntimeFilterImpl, QueryRuntimeFilterFactory.AnnotatableFilter, QueryRuntimeFilterFactory.BasicFilter, QueryRuntimeFilterFactory.ChainedFilter, QueryRuntimeFilterFactory.ChildFilter, QueryRuntimeFilterFactory.DenyAllFilter, QueryRuntimeFilterFactory.OwnableFilter, QueryRuntimeFilterFactory.RemovableFilter, QueryRuntimeFilterFactory.ShareableFilter, Quota.QueryRuntimeFilterImpl, Role.QueryRuntimeFilterImpl, User.QueryRuntimeFilterImpl
interface QueryRuntimeFilter
Represents a filter that is applied to a query just before it
is executed in order to limit the result. Runtime filters are
used for two purposes:
- Limit the returned items based on the logged in users permissions.
A query must never return an item which the logged in user doesn't have
read permission to. If the query does that a
PermissionDeniedException
Limit the returned items based on the options a client application
specifies with the EntityQuery.include(Include[])
and
EntityQuery.exclude(Include[])
methods. The default is to return
only items which are owned by the logged in user and not flagged as removed.
- Version:
- 2.0
- Author:
- Nicklas
- See Also:
- Query API overview - runtime filters
- Last modified
- $Date: 2009-04-06 14:52:39 +0200 (Mon, 06 Apr 2009) $
enableFilters
void enableFilters(QueryRuntimeFilterManager manager,
EntityQuery query,
DbControl dc)
- Enable the filters based on the options specified by the query and
the logged in users permissions. Implementors should use the manager
to enable the filters, not the
HibernateUtil.enableFilter()
method. The manager keeps track of already enabled filters and
also takes care of disabling all filters after the query has been
executed.
- Parameters:
manager
- A manager that is used to actually enabled the filterquery
- The query that is going to be executed, it is not possible
to modify the query, the actual HQL may already have been generateddc
- The DbControl
used for database access and
permission checking