ScatterPlot extends PlotConfigurationDelegator implements AbstractPlottingPackage { @Override public PlotAbstraction getPlotAbstraction() { return abstraction; } ScatterPlot();  ScatterPlot(PlotConfiguration delegate); @Override void registerObservor(PlotObserver o); @Override void removeObserver(PlotObserver o); @Override void notifyObserversTimeChange(); @Override void createChart(Font timeAxisFont, int plotLineThickness,
			Color plotBackgroundFrameColor, Color plotAreaBackgroundColor,
			int timeAxisIntercept, Color timeAxisColor,
			Color timeAxisLabelColor, Color nonTimeAxisLabelColor,
			String timeAxisDataFormat, Color nonTimeAxisColor,
			Color gridLineColor, int minSamplesForAutoScale,
			boolean isCompressionEnabled, boolean isTimeLabelsEnabled,
			boolean isLocalControlEnabled, PlotAbstraction thePlotAbstraction,
			AbbreviatingPlotLabelingAlgorithm thePlotLabelingAlgorithm); @Override JComponent getPlotComponent(); @Override void addDataSet(String dataSetName, Color plottingColor); @Override void addDataSet(String lowerCase, Color plottingColor,
			String displayName); @Override boolean isKnownDataSet(String setName); @Override void updateLegend(String dataSetName, RenderingInfo info); @Override void refreshDisplay(); @Override int getDataSetSize(); @Override LimitAlarmState getDependentMaxAlarmState(); @Override LimitAlarmState getDependentMinAlarmState(); @Override GregorianCalendar getCurrentTimeAxisMin(); @Override GregorianCalendar getCurrentTimeAxisMax(); @Override void showTimeSyncLine(GregorianCalendar time); @Override void removeTimeSyncLine(); @Override double getInitialNonTimeMinSetting(); @Override double getInitialNonTimeMaxSetting(); @Override long getInitialTimeMinSetting(); @Override long getInitialTimeMaxSetting(); @Override boolean isTimeSyncLineVisible(); @Override void setPlotAbstraction(PlotAbstraction plotView); @Override void notifyGlobalTimeSyncFinished(); @Override boolean inTimeSyncMode(); @Override double getNonTimeMaxDataValueCurrentlyDisplayed(); @Override double getNonTimeMinDataValueCurrentlyDisplayed(); @Override void setCompressionEnabled(boolean state); @Override boolean isCompressionEnabled(); @Override void informUpdateCachedDataStreamStarted(); @Override void informUpdateCacheDataStreamCompleted(); @Override void informUpdateFromLiveDataStreamStarted(); @Override void informUpdateFromLiveDataStreamCompleted(); @Override void setTimeAxisStartAndStop(long startTime, long endTime); @Override void clearAllDataFromPlot(); @Override void pause(boolean b); @Override boolean isPaused(); @Override Axis getNonTimeAxis(); @Override void updateResetButtons(); @Override void setPlotLabelingAlgorithm(
			AbbreviatingPlotLabelingAlgorithm thePlotLabelingAlgorithm); @Override AbbreviatingPlotLabelingAlgorithm getPlotLabelingAlgorithm(); @Override void addData(String feedID, SortedMap<Long, Double> points); @Override void addData(String feed, long time, double value); @Override void setTruncationPoint(double min); @Override void updateCompressionRatio(); @Override PlotAbstraction getPlotAbstraction(); @Override LegendManager getLegendManager(); @Override AbstractPlotDataManager getPlotDataManager(); @Override AbstractPlotLocalControlsManager getLocalControlsManager(); @Override PlotViewActionListener getPlotActionListener(); @Override PlotLimitManager getLimitManager(); @Override AbstractPlotLine createPlotLine(); @Override void addDataSet(String dataSetName, Color plottingColor,
			AbstractLegendEntry legend); @Override void attachLocalControl(AbstractPlotLocalControl control); @Override Collection<AbstractAxis> getAxes(); @Override void notifyObserversAxisChanged(AbstractAxis axis); @Override Collection<AbstractAxisBoundManager> getBoundManagers(AxisVisibleOrientation axis);  }
@Test public void testGetPlotAbstraction() { PlotSettings s = new PlotSettings(); PlotView basePlot = new PlotView.Builder(ScatterPlot.class).plotSettings(s).build(); ScatterPlot p = new ScatterPlot(); p.setPlotAbstraction(basePlot); Assert.assertEquals(p.getPlotAbstraction(), basePlot); p = new ScatterPlot(basePlot); Assert.assertEquals(p.getPlotAbstraction(), basePlot); invokeCreateChart(p); Assert.assertEquals(p.getPlotAbstraction(), abstraction); }