Class StateSummary<T extends Enum<T> & StateSummaryType>

java.lang.Object
org.tasktide.core.model.state_summary.StateSummary<T>
Direct Known Subclasses:
ItemStateSummary, TaskStateSummary

public abstract class StateSummary<T extends Enum<T> & StateSummaryType> extends Object
JSON-B compatible representation of StateSummaryType maps
Resolves yasson-3.0.>=4 bump where generic key does not seem supported
PR = https://github.com/BrenKenna/TaskTide/pull/15
Commit = https://github.com/BrenKenna/TaskTide/commit/5a4894d3421c9d7a926fa54f7bb9988ef244a60d
  • Field Details

  • Constructor Details

    • StateSummary

      public StateSummary(Map<String,Integer> summaryMap)
      Initialize with summary map
      Parameters:
      summaryMap -
  • Method Details

    • getSummaryMap

      public Map<String,Integer> getSummaryMap()
      Get clone of summary map
      Returns:
      Map-String, Integer
    • toJson

      public String toJson(boolean indent)
      Represent as either JSON document or string
      Parameters:
      indent -
      Returns:
      String
    • setValueFor

      public void setValueFor(String key, int value)
      Sets the provided key to provided value
      Parameters:
      key -
      value -
    • setValueFor

      public void setValueFor(T query, int value)
      Sets the provided key to provided value
      Parameters:
      query -
      value -
    • addElement

      public void addElement(String key, int value)
      Add summary value for StateSummaryType instance
      Parameters:
      key -
      value -
    • getEntry

      public Map.Entry<String,Integer> getEntry(String key)
      Fetch entry for queried key string
      Parameters:
      key -
      Returns:
      Entry-String, Integer
    • getValueFor

      public int getValueFor(String key)
      Get the value for the specified key
      Parameters:
      key -
      Returns:
      int
    • hasKey

      public boolean hasKey(String key)
      Check if StateSummary has provided key
      Parameters:
      key -
      Returns:
      boolean
    • mapQueryToStateString

      public String mapQueryToStateString(T query)
      Map queried state to its state string
      Parameters:
      query -
      Returns:
      String
    • mapQueryToState

      public abstract T mapQueryToState(String query)
      Map queried string to state
      Parameters:
      query -
      Returns:
      T
    • hasKey

      public boolean hasKey(T query)
      Check whether state map has queried key
      Parameters:
      query -
      Returns:
      boolean
    • addElement

      public void addElement(T state, int value)
      Adds element to state summary
      Parameters:
      state -
      value -
    • getValueFor

      public int getValueFor(T query)
      Get value for queried state
      Parameters:
      query -
      Returns:
      int
    • getEntry

      public Map.Entry<String,Integer> getEntry(T query)
      Get entry for query
      Parameters:
      query -
      Returns:
      Entry-String, int
    • toString

      public String toString()
      Represent as JSON document
      Overrides:
      toString in class Object
      Returns:
      String