Package net.sf.basedb.core
Interface QueryRuntimeFilter
- All Known Implementing Classes:
Annotation.QueryRuntimeFilterImpl
,AnnotationSet.QueryRuntimeFilterImpl
,FileSet.QueryRuntimeFilterImpl
,FileSetMember.QueryRuntimeFilterImpl
,Group.QueryRuntimeFilterImpl
,Message.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
,Session.QueryRuntimeFilterImpl
,User.QueryRuntimeFilterImpl
,UserDevice.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
is thrown while trying to access that item. - Limit the returned items based on the options a client application
specifies with the
EntityQuery.include(Include[])
andEntityQuery.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:
- Last modified
- $Date: 2015-04-21 09:59:42 +0200 (ti, 21 apr 2015) $
-
Method Summary
Modifier and TypeMethodDescriptionvoid
enableFilters
(QueryRuntimeFilterManager manager, EntityQuery query, DbControl dc) Enable the filters based on the options specified by the query and the logged in users permissions.
-
Method Details
-
enableFilters
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 theHibernateUtil.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
- TheDbControl
used for database access and permission checking
-