Class AbstractConfigurer<T extends AbstractItem,A>

java.lang.Object
hudson.plugins.createjobadvanced.AbstractConfigurer<T,A>
Direct Known Subclasses:
FolderConfigurer, JobConfigurer

public abstract class AbstractConfigurer<T extends AbstractItem,A> extends Object
Partial default implementation of item configurers.

Used to apply plugin configuration to items

Author:
Laurent Coltat
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final Logger
    Plugin logger
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract void
    addAuthorizationMatrixProperty(Item item, A authProperty)
    Assigne given authorization matrix property to given item.
    protected abstract void
    addPermission(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 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.
    protected abstract A
    Create a fresh new authorization matrix property.
    protected void
    doCreate(Item item)
    Update given Item according to plugin configuration.
    protected final String
    doRename(Item item)
    Rename given item if plugin configuration request it.
    protected abstract A
    Fetch autorization matrix property from given item.
    protected abstract Map<Permission,Set<org.jenkinsci.plugins.matrixauth.PermissionEntry>>
    Fetch association of Jenkins permissions to permission entries from given authorization matrix.auth.
    protected final CreateJobAdvancedPlugin
     
    protected final Map<Permission,Set<org.jenkinsci.plugins.matrixauth.PermissionEntry>>
    Retrive existing Jenkins permissions map granted to given item.
    protected abstract void
    removeProperty(Item item, A authProperty)
    Remove given authorization matrix from given item.
    protected abstract void
    renameJob(Item item, String newName)
    Rename given item with given name.
    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.
    protected abstract void
    setInheritanceStrategy(A authProperty, org.jenkinsci.plugins.matrixauth.inheritance.InheritanceStrategy inheritanceStrategy)
    Assign given inheritance strategy to given authorization matrix property.
    protected final A
    setupAuthorizationMatrixProperty(Map<Permission,Set<org.jenkinsci.plugins.matrixauth.PermissionEntry>> permissions)
    Creates authorization matrix property from given permission map.
    protected abstract boolean
    Check if given Jenkins permission is handled by this object.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • log

      protected static final Logger log
      Plugin logger
  • Constructor Details

    • AbstractConfigurer

      public AbstractConfigurer()
  • Method Details

    • doCreate

      protected void doCreate(Item item)
      Update given Item according to plugin configuration.
      Parameters:
      item - item to be updated
    • doRename

      protected final String doRename(Item item)
      Rename given item if plugin configuration request it.
      Parameters:
      item - to be renamed
    • getPlugin

      protected final CreateJobAdvancedPlugin 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 granted
      permEnt - Permission entry
      jenkinsPermissions - 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 entries
      permission - permission to be configured
      permissionEntry - permission entry
    • setupAuthorizationMatrixProperty

      protected final A setupAuthorizationMatrixProperty(Map<Permission,Set<org.jenkinsci.plugins.matrixauth.PermissionEntry>> permissions) throws IOException
      Creates 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 updated
      inheritanceStrategy - 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 updated
      perm - Jenkins permission to be assigned
      permEntry - permission entry to be associated
    • showPermission

      protected abstract boolean showPermission(@Nullable Permission perm)
      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 updated
      authProperty - authorization matrix property to be assigned
      Throws:
      IOException
    • renameJob

      protected abstract void renameJob(@Nullable Item item, @Nullable String newName) throws IOException
      Rename given item with given name.
      Parameters:
      item - Item to be updated
      newName - New name to be assigned
      Throws:
      IOException
    • createAuthorizationMatrixProperty

      @Nullable protected abstract A createAuthorizationMatrixProperty()
      Create a fresh new authorization matrix property.
      Returns:
      created authorization matrix property
    • getAuthorizationMatrixProperty

      @Nullable protected abstract A getAuthorizationMatrixProperty(@Nullable Item item)
      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

      protected abstract void removeProperty(@Nullable Item item, @Nullable A authProperty)
      Remove given authorization matrix from given item.
      Parameters:
      item - item to be updated
      authProperty - 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.