Class PermissionBackend.ForProject
- java.lang.Object
-
- com.google.gerrit.server.permissions.PermissionBackend.ForProject
-
- Enclosing class:
- PermissionBackend
public abstract static class PermissionBackend.ForProject extends Object
PermissionBackend scoped to a user and project.
-
-
Constructor Summary
Constructors Constructor Description ForProject()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description PermissionBackend.ForChange
change(ChangeNotes notes)
Returns an instance scoped for the change, and its destination ref and project.PermissionBackend.ForChange
change(ChangeData cd)
Returns an instance scoped for the change, and its destination ref and project.abstract void
check(CoreOrPluginProjectPermission perm)
Verify scoped user canperm
, throwing if denied.abstract Collection<org.eclipse.jgit.lib.Ref>
filter(Collection<org.eclipse.jgit.lib.Ref> refs, org.eclipse.jgit.lib.Repository repo, PermissionBackend.RefFilterOptions opts)
Filter a list of references by visibility.abstract PermissionBackend.ForRef
ref(String ref)
Returns an instance scoped forref
in this project.abstract String
resourcePath()
Returns the fully qualified resource path that this instance is scoped to.boolean
test(CoreOrPluginProjectPermission perm)
abstract <T extends CoreOrPluginProjectPermission>
Set<T>test(Collection<T> permSet)
FilterpermSet
to permissions scoped user might be able to perform.abstract BooleanCondition
testCond(CoreOrPluginProjectPermission perm)
boolean
testOrFalse(CoreOrPluginProjectPermission perm)
-
-
-
Method Detail
-
resourcePath
public abstract String resourcePath()
Returns the fully qualified resource path that this instance is scoped to.
-
ref
public abstract PermissionBackend.ForRef ref(String ref)
Returns an instance scoped forref
in this project.
-
change
public PermissionBackend.ForChange change(ChangeData cd)
Returns an instance scoped for the change, and its destination ref and project.
-
change
public PermissionBackend.ForChange change(ChangeNotes notes)
Returns an instance scoped for the change, and its destination ref and project.
-
check
public abstract void check(CoreOrPluginProjectPermission perm) throws AuthException, PermissionBackendException
Verify scoped user canperm
, throwing if denied.
-
test
public abstract <T extends CoreOrPluginProjectPermission> Set<T> test(Collection<T> permSet) throws PermissionBackendException
FilterpermSet
to permissions scoped user might be able to perform.- Throws:
PermissionBackendException
-
test
public boolean test(CoreOrPluginProjectPermission perm) throws PermissionBackendException
- Throws:
PermissionBackendException
-
testOrFalse
public boolean testOrFalse(CoreOrPluginProjectPermission perm)
-
testCond
public abstract BooleanCondition testCond(CoreOrPluginProjectPermission perm)
-
filter
public abstract Collection<org.eclipse.jgit.lib.Ref> filter(Collection<org.eclipse.jgit.lib.Ref> refs, org.eclipse.jgit.lib.Repository repo, PermissionBackend.RefFilterOptions opts) throws PermissionBackendException
Filter a list of references by visibility.- Parameters:
refs
- a collection of references to filter.repo
- an openRepository
handle for this instance's projectopts
- further options for filtering.- Returns:
- a partition of the provided refs that are visible to the user that this instance is scoped to.
- Throws:
PermissionBackendException
- if failure consulting backend configuration.
-
-