Interface PermissionDelegate<TARGET>

All Known Implementing Classes:
AbstractPermissionsDelegate, ApplicationPermissionsDelegate, AttachmentPermissionsDelegate, BlogPostPermissionsDelegate, CommentPermissionsDelegate, DraftPermissionsDelegate, GlobalDescriptionPermissionsDelegate, GroupPermissionsDelegate, JsonPropertyPermissionDelegate, LabellingPermissionsDelegate, LinkPermissionsDelegate, NoPermissionDelegate, PagePermissionsDelegate, PageTemplatePermissionsDelegate, PeopleDirectoryPermissionsDelegate, PersonalInformationPermissionsDelegate, SharedAccessInterceptor, SpaceDescriptionPermissionsDelegate, SpacePermissionsDelegate, SystemPermissionsDelegate, TargetToLatestVersionDecorator, UserPermissionsDelegate

public interface PermissionDelegate<TARGET>
Each type of target that can have permissions checked against it will have a delegate. The delegate's job is to separate out the different permissions checks in a cleaner, more maintainable fashion.

These delegates on check content access according to the permissions set. If you need to verify other restrictions that are context dependant like ContentEntityObject.SHARE_ID make sure you put them in the corresponding places.

  • Method Details

    • canView

      boolean canView(ConfluenceUser user, TARGET target)
      Returns:
      true if user can view the specified target.
      Since:
      8.8
    • canView

      boolean canView(ConfluenceUser user)
      Returns:
      true if the user can view all instances of targets handled by this permission delegate
      Since:
      8.8
    • canEdit

      boolean canEdit(ConfluenceUser user, TARGET target)
      Since:
      8.8
    • canSetPermissions

      boolean canSetPermissions(ConfluenceUser user, TARGET target)
      Since:
      8.8
    • canRemove

      boolean canRemove(ConfluenceUser user, TARGET target)
      Since:
      8.8
    • canMove

      default boolean canMove(ConfluenceUser user, TARGET source, Object target, String movePoint)
      Since:
      8.8
    • canRemoveHierarchy

      default boolean canRemoveHierarchy(ConfluenceUser user, TARGET target)
      Since:
      8.8
    • canExport

      boolean canExport(ConfluenceUser user, TARGET target)
      Since:
      8.8
    • canAdminister

      boolean canAdminister(ConfluenceUser user, TARGET target)
      Since:
      8.8
    • canCreate

      boolean canCreate(ConfluenceUser user, Object container)
      Returns:
      true if the specified user can create new instances of the target type in the specified container.
      Since:
      8.8
    • canCreateInTarget

      boolean canCreateInTarget(ConfluenceUser user, Class typeToCreate)
      Parameters:
      user - the user performing the create
      typeToCreate - the class of the entity to create
      Returns:
      true if the specified user can create new instances of the specified typeToCreate within instances of target handled by this PermissionDelegate.
      Since:
      8.8