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
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAggregatingLineGraphModel(LineGraphData graphData, AggregationType aggregationType) -
Method Summary
Modifier and TypeMethodDescriptionstatic LineGraphDatagetAggregateDataPoints(LineGraphData dataPoints, TimePartitioning zoomLevel, Interval alignedInterval, AggregationType aggregationType, ZoneId timeZone, boolean addDataPointBeforeAndAfterQueryResult) getData(TimePartitioning zoomLevel, ZoneId zoneId, Interval neededIntervalX, Interval displayedInterval) Retrieves graph data (GraphData) for the specifiedzoomLeveland {cod@ neededInterval}.booleanvoidsetAddDataPointBeforeAndAfterQueryResult(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, waitMethods inherited from interface org.teamapps.ux.component.timegraph.model.GraphModel
onDataChanged
-
Field Details
-
onDataChanged
-
-
Constructor Details
-
AggregatingLineGraphModel
public AggregatingLineGraphModel() -
AggregatingLineGraphModel
-
-
Method Details
-
setGraphData
-
setAggregationPolicy
-
getData
public LineGraphData getData(TimePartitioning zoomLevel, 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, ZoneId timeZone, boolean addDataPointBeforeAndAfterQueryResult) -
getDomainX
-
isAddDataPointBeforeAndAfterQueryResult
public boolean isAddDataPointBeforeAndAfterQueryResult() -
setAddDataPointBeforeAndAfterQueryResult
public void setAddDataPointBeforeAndAfterQueryResult(boolean addDataPointBeforeAndAfterQueryResult) -
onDataChanged
- Specified by:
onDataChangedin interfaceGraphModel<D extends GraphData>
-