Package hudson.plugins.createjobadvanced
Class AbstractConfigurer<T extends AbstractItem,A>
java.lang.Object
hudson.plugins.createjobadvanced.AbstractConfigurer<T,A>
- Direct Known Subclasses:
FolderConfigurer,JobConfigurer
Partial default implementation of item configurers.
Used to apply plugin configuration to items
- Author:
- Laurent Coltat
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidaddAuthorizationMatrixProperty(Item item, A authProperty) Assigne given authorization matrix property to given item.protected abstract voidaddPermission(A authProperty, Permission perm, org.jenkinsci.plugins.matrixauth.PermissionEntry permEntry) Associate given Jenkins permission to given permission entry and assign it to given authorization property.protected final voidconfigurePermission(Map<Permission, Set<org.jenkinsci.plugins.matrixauth.PermissionEntry>> permissions, Permission permission, org.jenkinsci.plugins.matrixauth.PermissionEntry permissionEntry) Associates given permission entry to given Jenkins permission, and add it to given permissions map.protected abstract ACreate a fresh new authorization matrix property.protected voidUpdate given Item according to plugin configuration.protected final StringRename given item if plugin configuration request it.protected abstract AFetch autorization matrix property from given item.protected abstract Map<Permission, Set<org.jenkinsci.plugins.matrixauth.PermissionEntry>> getGrantedPermissionEntries(A authProperty) Fetch association of Jenkins permissions to permission entries from given authorization matrix.auth.protected final CreateJobAdvancedPluginprotected final Map<Permission, Set<org.jenkinsci.plugins.matrixauth.PermissionEntry>> initPermissions(Item item) Retrive existing Jenkins permissions map granted to given item.protected abstract voidremoveProperty(Item item, A authProperty) Remove given authorization matrix from given item.protected abstract voidRename given item with given name.protected final voidsecurityGrantPermissions(Item item, org.jenkinsci.plugins.matrixauth.PermissionEntry permEnt, Permission[] jenkinsPermissions) Grant given Jenkins permissions to given item for given sid of given type.protected abstract voidsetInheritanceStrategy(A authProperty, org.jenkinsci.plugins.matrixauth.inheritance.InheritanceStrategy inheritanceStrategy) Assign given inheritance strategy to given authorization matrix property.protected final AsetupAuthorizationMatrixProperty(Map<Permission, Set<org.jenkinsci.plugins.matrixauth.PermissionEntry>> permissions) Creates authorization matrix property from given permission map.protected abstract booleanshowPermission(Permission perm) Check if given Jenkins permission is handled by this object.
-
Field Details
-
log
Plugin logger
-
-
Constructor Details
-
AbstractConfigurer
public AbstractConfigurer()
-
-
Method Details
-
doCreate
Update given Item according to plugin configuration.- Parameters:
item- item to be updated
-
doRename
Rename given item if plugin configuration request it.- Parameters:
item- to be renamed
-
getPlugin
- Returns:
- plugin configuration instance.identity/
-
securityGrantPermissions
protected final void securityGrantPermissions(Item item, org.jenkinsci.plugins.matrixauth.PermissionEntry permEnt, Permission[] jenkinsPermissions) Grant given Jenkins permissions to given item for given sid of given type.- Parameters:
item- item to be grantedpermEnt- Permission entryjenkinsPermissions- permissions to grant
-
initPermissions
@NonNull protected final Map<Permission,Set<org.jenkinsci.plugins.matrixauth.PermissionEntry>> initPermissions(@Nullable Item item) Retrive existing Jenkins permissions map granted to given item.- Parameters:
item- item to be parsed- Returns:
- Jenkins permissions map granted to given item
-
configurePermission
protected final void configurePermission(Map<Permission, Set<org.jenkinsci.plugins.matrixauth.PermissionEntry>> permissions, Permission permission, org.jenkinsci.plugins.matrixauth.PermissionEntry permissionEntry) Associates given permission entry to given Jenkins permission, and add it to given permissions map.- Parameters:
permissions- map of Jenkins permissions linked to their assigned permission entriespermission- permission to be configuredpermissionEntry- permission entry
-
setupAuthorizationMatrixProperty
protected final A setupAuthorizationMatrixProperty(Map<Permission, Set<org.jenkinsci.plugins.matrixauth.PermissionEntry>> permissions) throws IOExceptionCreates authorization matrix property from given permission map.- Parameters:
permissions- map of permissions linked to their assigned permissions entries- Throws:
IOException
-
setInheritanceStrategy
protected abstract void setInheritanceStrategy(@Nullable A authProperty, @Nullable org.jenkinsci.plugins.matrixauth.inheritance.InheritanceStrategy inheritanceStrategy) Assign given inheritance strategy to given authorization matrix property.- Parameters:
authProperty- authorization matrix property to be updatedinheritanceStrategy- inheritance strategy to be assigned
-
addPermission
protected abstract void addPermission(@Nullable A authProperty, @Nullable Permission perm, @Nullable org.jenkinsci.plugins.matrixauth.PermissionEntry permEntry) Associate given Jenkins permission to given permission entry and assign it to given authorization property.- Parameters:
authProperty- authorization matrix property to be updatedperm- Jenkins permission to be assignedpermEntry- permission entry to be associated
-
showPermission
Check if given Jenkins permission is handled by this object.- Parameters:
perm- Jenkins permission- Returns:
- true if parameter is available
-
addAuthorizationMatrixProperty
protected abstract void addAuthorizationMatrixProperty(@Nullable Item item, @Nullable A authProperty) throws IOException Assigne given authorization matrix property to given item.- Parameters:
item- Item to be updatedauthProperty- authorization matrix property to be assigned- Throws:
IOException
-
renameJob
Rename given item with given name.- Parameters:
item- Item to be updatednewName- New name to be assigned- Throws:
IOException
-
createAuthorizationMatrixProperty
Create a fresh new authorization matrix property.- Returns:
- created authorization matrix property
-
getAuthorizationMatrixProperty
Fetch autorization matrix property from given item.- Parameters:
item- owner of the autorization matrix property to be fetched- Returns:
- autorization matrix property of given item if any, null otherwize
-
removeProperty
Remove given authorization matrix from given item.- Parameters:
item- item to be updatedauthProperty- authorization matrix to be removed
-
getGrantedPermissionEntries
@NonNull protected abstract Map<Permission,Set<org.jenkinsci.plugins.matrixauth.PermissionEntry>> getGrantedPermissionEntries(@Nullable A authProperty) Fetch association of Jenkins permissions to permission entries from given authorization matrix.auth.- Parameters:
authProperty- authorization matrix to be updated.- Returns:
- a Map of Jenkins permissions linked to their assigned permissions entries.
-