net.sf.basedb.core
Class QueryRuntimeFilterFactory.ShareableFilter
java.lang.Object
net.sf.basedb.core.QueryRuntimeFilterFactory.ShareableFilter
- All Implemented Interfaces:
- QueryRuntimeFilter
- Enclosing class:
- QueryRuntimeFilterFactory
private static class QueryRuntimeFilterFactory.ShareableFilter
- extends Object
- implements QueryRuntimeFilter
An optional default filter for Shareable
items. The filter checks
the query for the Include.MINE
, Include.OTHERS
,
Include.SHARED
and Include.IN_PROJECT
and enables
one of the filters:
ownedBy
notOwnedBy
sharedTo
inProject
ownedByOrSharedTo
ownedByOrInProject
sharedToOrInProject
ownedByOrSharedToOrInProject
denyAll
The filter makes sure that the query doesn't return an item that
the logged in user doesn't have the permission EntityQuery.getItemPermission()
for.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
QueryRuntimeFilterFactory.ShareableFilter
private QueryRuntimeFilterFactory.ShareableFilter()
enableFilters
public void enableFilters(QueryRuntimeFilterManager manager,
EntityQuery query,
DbControl dc)
- Description copied from interface:
QueryRuntimeFilter
- 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.
- Specified by:
enableFilters
in interface QueryRuntimeFilter
- 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