Class UserMenuAction<A extends UserMenuAction<A,C>,C extends JmixUserMenu<?>>

Type Parameters:
A - the type of the concrete action class extending UserMenuAction
C - the type of the JmixUserMenu that the action can be associated with
All Implemented Interfaces:
ExecutableAction, SecuredAction, TargetAction<C>, Action, HasShortcutCombination
Direct Known Subclasses:
UserMenuSubstituteUserAction, UserMenuThemeSwitchAction

public abstract class UserMenuAction<A extends UserMenuAction<A,C>,C extends JmixUserMenu<?>> extends SecuredBaseAction implements TargetAction<C>, ExecutableAction
An abstract base class for actions that can be associated with a specific JmixUserMenu.
  • Field Details

  • Constructor Details

    • UserMenuAction

      public UserMenuAction(String id)
  • Method Details

    • initAction

      protected void initAction()
    • getTarget

      @Nullable public C getTarget()
      Specified by:
      getTarget in interface TargetAction<A extends UserMenuAction<A,C>>
    • setTarget

      public void setTarget(@Nullable C target)
      Specified by:
      setTarget in interface TargetAction<A extends UserMenuAction<A,C>>
    • getMenuItem

      @Nullable public UserMenuItem getMenuItem()
      Returns the UserMenuItem associated with this action.
      Returns:
      the associated UserMenuItem, or null if no menu item is associated
    • setMenuItem

      public void setMenuItem(@Nullable UserMenuItem menuItem)
      Sets the UserMenuItem associated with this action.
      Parameters:
      menuItem - the new UserMenuItem to associate with this action, or null to disassociate the current menu item
    • setMenuItemInternal

      protected void setMenuItemInternal(@Nullable UserMenuItem menuItem)
    • setTargetInternal

      protected void setTargetInternal(@Nullable C target)
    • actionPerform

      public void actionPerform(com.vaadin.flow.component.Component component)
      Description copied from interface: Action
      Executes action logic.
      Specified by:
      actionPerform in interface Action
      Overrides:
      actionPerform in class BaseAction
      Parameters:
      component - Component that triggered this action
    • withTarget

      public A withTarget(@Nullable C target)
    • withText

      public A withText(@Nullable String text)
      Description copied from class: BaseAction
      Sets the text property value of an action. May be used by components to initialize their appearance.
      Overrides:
      withText in class SecuredBaseAction
      Parameters:
      text - text to set or null to remove
      Returns:
      this object
    • withEnabled

      public A withEnabled(boolean enabled)
      Description copied from class: BaseAction
      Sets the enabled property value of an action. May be used by components to initialize their appearance.
      Overrides:
      withEnabled in class SecuredBaseAction
      Parameters:
      enabled - whether the action is currently enabled
      Returns:
      this object
    • withVisible

      public A withVisible(boolean visible)
      Description copied from class: BaseAction
      Sets the visible property value of an action. May be used by components to initialize their appearance.
      Overrides:
      withVisible in class SecuredBaseAction
      Parameters:
      visible - whether the action is currently visible
      Returns:
      this object
    • withIcon

      public A withIcon(@Nullable com.vaadin.flow.component.icon.Icon icon)
      Description copied from class: BaseAction
      Sets the icon property value of an action. May be used by components to initialize their appearance.
      Overrides:
      withIcon in class SecuredBaseAction
      Parameters:
      icon - icon to set or null to remove
      Returns:
      this object
    • withIcon

      public A withIcon(@Nullable com.vaadin.flow.component.icon.VaadinIcon icon)
      Description copied from class: BaseAction
      Sets the icon property value of an action. May be used by components to initialize their appearance.
      Overrides:
      withIcon in class SecuredBaseAction
      Parameters:
      icon - icon to set or null to remove
      Returns:
      this object
    • withTitle

      public A withTitle(@Nullable String title)
      Description copied from class: BaseAction
      Sets the description property value of an action. May be used by components to initialize their appearance.
      Overrides:
      withTitle in class SecuredBaseAction
      Parameters:
      title - description to set or null to remove
      Returns:
      this object
    • withVariant

      public A withVariant(ActionVariant actionVariant)
      Description copied from class: BaseAction
      Sets the variant property value of an action. May be used by components to initialize their appearance.
      Overrides:
      withVariant in class SecuredBaseAction
      Parameters:
      actionVariant - variant to set
      Returns:
      this object
    • withShortcutCombination

      public A withShortcutCombination(@Nullable KeyCombination shortcutCombination)
      Description copied from class: BaseAction
      Sets object that stores information about keys, modifiers and additional settings that describe shortcut combinations.
      Overrides:
      withShortcutCombination in class SecuredBaseAction
      Parameters:
      shortcutCombination - key combination to set or null to remove
      Returns:
      this object
    • withHandler

      public A withHandler(@Nullable Consumer<ActionPerformedEvent> handler)
      Description copied from class: BaseAction
      Adds a listener to be notified when action is performed.
      Overrides:
      withHandler in class SecuredBaseAction
      Parameters:
      handler - listener to add or null to remove all
      Returns:
      this object
    • withEnabledByUiPermissions

      public A withEnabledByUiPermissions(boolean enabledByUiPermissions)
      Overrides:
      withEnabledByUiPermissions in class SecuredBaseAction
    • withVisibleByUiPermissions

      public A withVisibleByUiPermissions(boolean visibleByUiPermissions)
      Overrides:
      withVisibleByUiPermissions in class SecuredBaseAction
    • checkTarget

      protected void checkTarget()