Package org.nuxeo.ecm.core.security
Class AbstractSecurityPolicy
- java.lang.Object
-
- org.nuxeo.ecm.core.security.AbstractSecurityPolicy
-
- All Implemented Interfaces:
SecurityPolicy
- Direct Known Subclasses:
CheckInSecurityPolicy
,LockSecurityPolicy
,MailMessageSecurityPolicy
,NoFileSecurityPolicy
,RetentionAndHoldSecurityPolicy
public abstract class AbstractSecurityPolicy extends Object implements SecurityPolicy
Abstract security policy- Author:
- Anahide Tchertchian, Florent Guillaume
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.nuxeo.ecm.core.security.SecurityPolicy
SecurityPolicy.IdentityQueryTransformer, SecurityPolicy.QueryTransformer
-
-
Constructor Summary
Constructors Constructor Description AbstractSecurityPolicy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SQLQuery.Transformer
getQueryTransformer(String repositoryName)
Get the transformer to use to apply this policy to a query.SecurityPolicy.QueryTransformer
getQueryTransformer(String repositoryName, String queryLanguage)
Get the string-based transformer to use to apply this policy to a query.boolean
isExpressibleInQuery(String repositoryName)
Checks if this policy can be expressed in a query for given repository.boolean
isExpressibleInQuery(String repositoryName, String queryLanguage)
Checks if this policy can be expressed in a string-based query for given repository.boolean
isRestrictingPermission(String permission)
Checks if this policy is restricting the given permission.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.nuxeo.ecm.core.security.SecurityPolicy
checkPermission
-
-
-
-
Method Detail
-
isRestrictingPermission
public boolean isRestrictingPermission(String permission)
Description copied from interface:SecurityPolicy
Checks if this policy is restricting the given permission.Queries check the BROWSE permission.
- Specified by:
isRestrictingPermission
in interfaceSecurityPolicy
- Parameters:
permission
- the permission to check for- Returns:
true
if the policy restricts the permission
-
getQueryTransformer
public SQLQuery.Transformer getQueryTransformer(String repositoryName)
Description copied from interface:SecurityPolicy
Get the transformer to use to apply this policy to a query.Called only when
SecurityPolicy.isExpressibleInQuery(String)
returnedtrue
- Specified by:
getQueryTransformer
in interfaceSecurityPolicy
- Parameters:
repositoryName
- the target repository name.- Returns:
- the transformer
-
getQueryTransformer
public SecurityPolicy.QueryTransformer getQueryTransformer(String repositoryName, String queryLanguage)
Description copied from interface:SecurityPolicy
Get the string-based transformer to use to apply this policy to a query.Called only when
SecurityPolicy.isExpressibleInQuery(String, String)
returnedtrue
- Specified by:
getQueryTransformer
in interfaceSecurityPolicy
- Parameters:
repositoryName
- the target repository name.- Returns:
- the transformer
-
isExpressibleInQuery
public boolean isExpressibleInQuery(String repositoryName)
Description copied from interface:SecurityPolicy
Checks if this policy can be expressed in a query for given repository.If not, then any query made will have to be post-filtered.
- Specified by:
isExpressibleInQuery
in interfaceSecurityPolicy
- Parameters:
repositoryName
- the target repository name.- Returns:
true
if the policy can be expressed in a query
-
isExpressibleInQuery
public boolean isExpressibleInQuery(String repositoryName, String queryLanguage)
Description copied from interface:SecurityPolicy
Checks if this policy can be expressed in a string-based query for given repository.If not, then any query made will have to be post-filtered, if possible, otherwise denied.
- Specified by:
isExpressibleInQuery
in interfaceSecurityPolicy
- Parameters:
repositoryName
- the target repository name.- Returns:
true
if the policy can be expressed in a string-based query
-
-