Class QMenuItemBase

java.lang.Object
com.kingsrook.qqq.backend.core.model.metadata.menus.items.QMenuItemBase
All Implemented Interfaces:
QMenuItemInterface, QMetaDataObject, Serializable, Cloneable
Direct Known Subclasses:
QMenuItemBuiltIn, QMenuItemDivider, QMenuItemDownloadFile, QMenuItemRunProcess, QMenuItemSubList, QMenuItemSubMenu

public abstract class QMenuItemBase extends Object implements QMenuItemInterface
abstract base class for menu items. provides fields for basic methods required by the interface
See Also:
  • Constructor Details

    • QMenuItemBase

      public QMenuItemBase()
  • Method Details

    • getLabel

      public String getLabel()
      Getter for label
      Specified by:
      getLabel in interface QMenuItemInterface
      See Also:
    • setLabel

      public void setLabel(String label)
      Setter for label
      See Also:
    • withLabel

      public QMenuItemBase withLabel(String label)
      Fluent setter for label
      Parameters:
      label - user-facing text to display as the label for this menu item. e.g., "New", "Copy", or "Process Orders".
      Returns:
      this
    • clone

      public QMenuItemBase clone()
      Creates and returns a shallow copy of this menu item.

      The cloned item will have its own copy of the label and icon fields. Subclasses should override this method to provide deep cloning if they contain additional mutable state.

      Specified by:
      clone in interface QMenuItemInterface
      Overrides:
      clone in class Object
      Returns:
      a clone of this menu item
      Throws:
      RuntimeException - if cloning is not supported (should not occur)
    • getIcon

      public QIcon getIcon()
      Getter for icon
      Specified by:
      getIcon in interface QMenuItemInterface
      See Also:
    • setIcon

      public void setIcon(QIcon icon)
      Setter for icon
      See Also:
    • withIcon

      public QMenuItemBase withIcon(QIcon icon)
      Fluent setter for icon
      Parameters:
      icon - Optional icon to display with this menu item.
      Returns:
      this