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 Summary
Fields Modifier and Type Field Description Event<java.lang.Void>onDataChanged
-
Constructor Summary
Constructors Constructor Description AggregatingLineGraphModel()AggregatingLineGraphModel(LineGraphData graphData, AggregationType aggregationType)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static LineGraphDatagetAggregateDataPoints(LineGraphData dataPoints, TimePartitioning zoomLevel, Interval alignedInterval, AggregationType aggregationType, java.time.ZoneId timeZone, boolean addDataPointBeforeAndAfterQueryResult)LineGraphDatagetData(TimePartitioning zoomLevel, java.time.ZoneId zoneId, Interval neededIntervalX, Interval displayedInterval)Retrieves graph data (GraphData) for the specifiedzoomLeveland {cod@ neededInterval}.IntervalgetDomainX()booleanisAddDataPointBeforeAndAfterQueryResult()Event<java.lang.Void>onDataChanged()voidsetAddDataPointBeforeAndAfterQueryResult(boolean addDataPointBeforeAndAfterQueryResult)voidsetAggregationPolicy(AggregationType aggregationType)voidsetGraphData(LineGraphData graphData)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.teamapps.ux.component.timegraph.model.GraphModel
onDataChanged
-
-
-
-
Field Detail
-
onDataChanged
public final Event<java.lang.Void> onDataChanged
-
-
Constructor Detail
-
AggregatingLineGraphModel
public AggregatingLineGraphModel()
-
AggregatingLineGraphModel
public AggregatingLineGraphModel(LineGraphData graphData, AggregationType aggregationType)
-
-
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:GraphModelRetrieves graph data (GraphData) for the specifiedzoomLeveland {cod@ neededInterval}.The model MAY choose return more data than needed, covering a larger interval than requested.
However, the result MUST at least coverneededInterval!
If the model delegates to multiple sub-models for different graphs, its aggregatedGraphDataobject should use the intersection of the sub-model'sGraphData.getInterval()as its ownGraphData.getInterval().- Parameters:
zoomLevel- the requested zoom levelzoneId- the zoneId to apply when partitioning over timeneededIntervalX- the time interval requested by the clientdisplayedInterval- the time interval displayed by the client- Returns:
- graph data
-
getAggregateDataPoints
public static LineGraphData getAggregateDataPoints(LineGraphData dataPoints, TimePartitioning zoomLevel, Interval alignedInterval, AggregationType aggregationType, java.time.ZoneId timeZone, boolean addDataPointBeforeAndAfterQueryResult)
-
getDomainX
public Interval getDomainX()
-
isAddDataPointBeforeAndAfterQueryResult
public boolean isAddDataPointBeforeAndAfterQueryResult()
-
setAddDataPointBeforeAndAfterQueryResult
public void setAddDataPointBeforeAndAfterQueryResult(boolean addDataPointBeforeAndAfterQueryResult)
-
onDataChanged
public Event<java.lang.Void> onDataChanged()
- Specified by:
onDataChangedin interfaceGraphModel<D extends GraphData>
-
-