Class AggregatingLineGraphModel

java.lang.Object
org.teamapps.ux.component.timegraph.model.AbstractLineGraphModel
org.teamapps.ux.component.timegraph.model.AggregatingLineGraphModel
All Implemented Interfaces:
GraphModel<LineGraphData>, LineGraphModel

public class AggregatingLineGraphModel extends AbstractLineGraphModel
  • Field Details

    • onDataChanged

      public final Event<Void> onDataChanged
  • Constructor Details

    • AggregatingLineGraphModel

      public AggregatingLineGraphModel()
    • AggregatingLineGraphModel

      public AggregatingLineGraphModel(LineGraphData graphData, AggregationType aggregationType)
  • Method Details

    • setGraphData

      public void setGraphData(LineGraphData graphData)
    • setAggregationPolicy

      public void setAggregationPolicy(AggregationType aggregationType)
    • getData

      public LineGraphData getData(TimePartitioning zoomLevel, ZoneId zoneId, Interval neededIntervalX, Interval displayedInterval)
      Description copied from interface: GraphModel
      Retrieves graph data (GraphData) for the specified zoomLevel and {cod@ neededInterval}.

      The model MAY choose return more data than needed, covering a larger interval than requested.
      However, the result MUST at least cover neededInterval!
      If the model delegates to multiple sub-models for different graphs, its aggregated GraphData object should use the intersection of the sub-model's GraphData.getInterval() as its own GraphData.getInterval().

      Parameters:
      zoomLevel - the requested zoom level
      zoneId - the zoneId to apply when partitioning over time
      neededIntervalX - the time interval requested by the client
      displayedInterval - the time interval displayed by the client
      Returns:
      graph data
    • getAggregateDataPoints

      public static LineGraphData getAggregateDataPoints(LineGraphData dataPoints, TimePartitioning zoomLevel, Interval alignedInterval, AggregationType aggregationType, ZoneId timeZone, boolean addDataPointBeforeAndAfterQueryResult)
    • getDomainX

      public Interval getDomainX()
    • isAddDataPointBeforeAndAfterQueryResult

      public boolean isAddDataPointBeforeAndAfterQueryResult()
    • setAddDataPointBeforeAndAfterQueryResult

      public void setAddDataPointBeforeAndAfterQueryResult(boolean addDataPointBeforeAndAfterQueryResult)
    • onDataChanged

      public Event<Void> onDataChanged()
      Specified by:
      onDataChanged in interface GraphModel<D extends GraphData>