java.lang.Object
com.thecoderscorner.menu.domain.MenuItem<Integer>
com.thecoderscorner.menu.domain.AnalogMenuItem

public class AnalogMenuItem extends MenuItem<Integer>
Represents an analog (numeric) menu item, it is always a zero based integer when retrieved from storage, but it can have an offset and divisor, so therefore is able to represent decimal values. The offset can also be negative. Rather than directly constructing an item of this type, you can use the AnalogMenuItemBuilder.
  • Constructor Details

    • AnalogMenuItem

      public AnalogMenuItem()
    • AnalogMenuItem

      public AnalogMenuItem(String name, String variableName, int id, int eepromAddress, String functionName, int maxValue, int offset, int divisor, String unitName, boolean readOnly, boolean localOnly, boolean visible)
  • Method Details

    • getMaxValue

      public int getMaxValue()
      The maximum value (0 based integer) that this item can represent
      Returns:
      max value
    • getOffset

      public int getOffset()
      The offset from 0 that is used when displaying the item, can be negative
      Returns:
      the offset
    • getDivisor

      public int getDivisor()
      The divisor used when displaying the item, for example value 50 with a divisor of 10 is 5.0
      Returns:
      the divisor used
    • getUnitName

      public String getUnitName()
      The unit name to appear directly after the value, for example a temprature item may be "oC" where as a volume control could be "dB"
      Returns:
      the name of the unit (if any)
    • newMenuState

      public MenuState<Integer> newMenuState(Integer value, boolean changed, boolean active)
      returns a new state object that represents the current value for the menu. Current values are held separately to the items, see MenuTree
      Specified by:
      newMenuState in class MenuItem<Integer>
      Parameters:
      value - the new value
      changed - if the value has changed
      active - if the menu item is active, can be used for your own purposes.
      Returns:
      the new state object
    • accept

      public void accept(MenuItemVisitor visitor)
      See the MenuItemVistor for more info.
      Specified by:
      accept in class MenuItem<Integer>
      Parameters:
      visitor - the item to be visited.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object