Class AbstractMenuItemVisitor<T>

java.lang.Object
com.thecoderscorner.menu.domain.util.AbstractMenuItemVisitor<T>
Type Parameters:
T -
All Implemented Interfaces:
MenuItemVisitor

public abstract class AbstractMenuItemVisitor<T> extends Object implements MenuItemVisitor
Abstract version of the interface MenuItemVisitor, it implements all the methods by defaulting the behaviour to the anyItem() method. You must implement at least the anyItem method as by default it throws an exception.
See Also:
  • Constructor Details

    • AbstractMenuItemVisitor

      public AbstractMenuItemVisitor()
  • Method Details

    • visit

      public void visit(AnalogMenuItem item)
      Description copied from interface: MenuItemVisitor
      This will be called during visit for an analog item
      Specified by:
      visit in interface MenuItemVisitor
      Parameters:
      item - the item
    • visit

      public void visit(BooleanMenuItem item)
      Description copied from interface: MenuItemVisitor
      This will be called during visit for a boolean item
      Specified by:
      visit in interface MenuItemVisitor
      Parameters:
      item - the item
    • visit

      public void visit(EnumMenuItem item)
      Description copied from interface: MenuItemVisitor
      This will be called during visit for an enumeration item
      Specified by:
      visit in interface MenuItemVisitor
      Parameters:
      item - the item
    • visit

      public void visit(SubMenuItem item)
      Description copied from interface: MenuItemVisitor
      This will be called during visit for sub menu
      Specified by:
      visit in interface MenuItemVisitor
      Parameters:
      item - the item
    • visit

      public void visit(EditableTextMenuItem item)
      Description copied from interface: MenuItemVisitor
      This will be called during visit for a text item
      Specified by:
      visit in interface MenuItemVisitor
      Parameters:
      item - the item
    • visit

      public void visit(ActionMenuItem item)
      Description copied from interface: MenuItemVisitor
      This will be called during visit for an action item
      Specified by:
      visit in interface MenuItemVisitor
      Parameters:
      item - the item
    • visit

      public void visit(FloatMenuItem item)
      Description copied from interface: MenuItemVisitor
      This will be called during visit for an floating point item
      Specified by:
      visit in interface MenuItemVisitor
      Parameters:
      item - the item
    • visit

      public void visit(RuntimeListMenuItem listItem)
      Description copied from interface: MenuItemVisitor
      this will be called during visit for a list item
      Specified by:
      visit in interface MenuItemVisitor
      Parameters:
      listItem - the list item
    • visit

      public void visit(EditableLargeNumberMenuItem numItem)
      Description copied from interface: MenuItemVisitor
      This will be called during visit for a large number item
      Specified by:
      visit in interface MenuItemVisitor
      Parameters:
      numItem - the number item
    • visit

      public void visit(ScrollChoiceMenuItem scrollItem)
      Description copied from interface: MenuItemVisitor
      This will be called during visit for scroll choice items
      Specified by:
      visit in interface MenuItemVisitor
      Parameters:
      scrollItem - the rgb item
    • visit

      public void visit(Rgb32MenuItem rgbItem)
      Description copied from interface: MenuItemVisitor
      This will be called during visit for RGB items
      Specified by:
      visit in interface MenuItemVisitor
      Parameters:
      rgbItem - the rgb item
    • visit

      public void visit(CustomBuilderMenuItem customItem)
      Description copied from interface: MenuItemVisitor
      This will be called during visit for a custom menu item
      Specified by:
      visit in interface MenuItemVisitor
      Parameters:
      customItem - the custom item
    • anyItem

      public void anyItem(MenuItem item)
      Whenever a visit method is not implemented, then anyItem is called instead. Default behaviour is to throw an exception.
      Parameters:
      item - the item
    • getResult

      public Optional<T> getResult()
      Returns the result previously stored by set result.
      Returns:
      the result or empty if not set.
      See Also:
    • setResult

      protected void setResult(T res)
      Stores the result within a visit call, normally used with visitWithResult
      Parameters:
      res - the result to store
      See Also: