Class AggregatingLineGraphModel

    • Field Detail

      • onDataChanged

        public final Event<java.lang.Void> onDataChanged
    • Constructor Detail

      • AggregatingLineGraphModel

        public AggregatingLineGraphModel()
    • Method Detail

      • setGraphData

        public void setGraphData​(LineGraphData graphData)
      • setAggregationPolicy

        public void setAggregationPolicy​(AggregationType aggregationType)
      • getData

        public LineGraphData getData​(TimePartitioning zoomLevel,
                                     java.time.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
      • getDomainX

        public Interval getDomainX()
      • isAddDataPointBeforeAndAfterQueryResult

        public boolean isAddDataPointBeforeAndAfterQueryResult()
      • setAddDataPointBeforeAndAfterQueryResult

        public void setAddDataPointBeforeAndAfterQueryResult​(boolean addDataPointBeforeAndAfterQueryResult)