Class ElementPermissionsManager

java.lang.Object
com.nomagic.magicdraw.uml.permissions.ElementPermissionsManager

@OpenApi public final class ElementPermissionsManager extends Object
Class responsible for managing permissions of @BaseElement : readonly, can add children. This manager does not contain any logic, external ElementPermissions should be registered to handle permissions.
  • Method Details

    • getElementPermissionsManager

      @OpenApi public static ElementPermissionsManager getElementPermissionsManager()
      Singleton getter
      Returns:
      instance
    • addPermisionsHandler

      @OpenApi @Deprecated public void addPermisionsHandler(ElementPermissions permissions)
      Deprecated.
      spelling error. Use #addPermissionsHandler
      Register custom permission handler
      Parameters:
      permissions - permissions handler
    • addPermissionsHandler

      @OpenApi public void addPermissionsHandler(ElementPermissions permissions)
      Register custom permission handler
      Parameters:
      permissions - permissions handler
    • removePermisionsHandler

      @OpenApi @Deprecated public void removePermisionsHandler(ElementPermissions permissions)
      Deprecated.
      spelling error. Use #removePermissionsHandler
      Unregister custom permission handler
      Parameters:
      permissions - permissions handler
    • removePermissionsHandler

      @OpenApi public void removePermissionsHandler(ElementPermissions permissions)
      Unregister custom permission handler
      Parameters:
      permissions - permissions handler
    • isElementEditable

      public boolean isElementEditable(BaseElement element)
      Checks if an element is editable
      Parameters:
      element - element
      Returns:
      true if editable
    • isElementEditableNoCacheCheck

      public boolean isElementEditableNoCacheCheck(BaseElement element)
      Forces isElementEditable check without a cache. Does not clear or update cache if one is in use. To be used with element permission handlers that can become disabled.
      Parameters:
      element - element to check
      Returns:
      returns true if element is editable
    • canCreateChildIn

      public boolean canCreateChildIn(BaseElement element)
      Checks if child can be created in a given element.
      Parameters:
      element - element
      Returns:
      true if can
    • canDelete

      public boolean canDelete(BaseElement element)
      Checks is element can be deleted.
      Parameters:
      element - element
      Returns:
      true if can
    • canAddChild

      public boolean canAddChild(BaseElement element, BaseElement child)
      Checks if child can be added into a given element.
      Parameters:
      element - element
      child - child of an element
      Returns:
      true if can
    • runWithCacheEnabled

      public static void runWithCacheEnabled(Runnable runnable)
      Enable cache and run runnable, then cache enabling flag is restored.
      Parameters:
      runnable - runnable to run
    • supplyWithCacheEnabled

      public static <T> T supplyWithCacheEnabled(Supplier<T> supplier)
      Enable cache and call supplier, then cache's enabling flag is restored.
      Parameters:
      supplier - supplier
    • supplyWithEditionElementPermissionsDisabled

      public static <T> T supplyWithEditionElementPermissionsDisabled(Supplier<T> supplier)
      Disable usage of EditionElementPermissions and supply a value.
      Parameters:
      supplier - supplier