Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/chart/AbstractChart.java @ 1119:7c4f81f74c47
merged gnv-artifacts
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:14:00 +0200 |
parents | f953c9a559d8 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/chart/AbstractChart.java Fri Sep 28 12:14:00 2012 +0200 @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2010 by Intevation GmbH + * + * This program is free software under the LGPL (>=v2.1) + * Read the file LGPL.txt coming with the software for details + * or visit http://www.gnu.org/licenses/ if it does not exist. + */ + +package de.intevation.gnv.chart; + +import java.util.Collection; +import java.util.Locale; + +import org.jfree.chart.ChartTheme; +import org.jfree.chart.JFreeChart; + +/** + * Abstract chart class to define the basic fields used for chart creation. + * + * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> + */ +public abstract class AbstractChart +implements Chart +{ + /** + * JFreeChart object. Created after {@link #generateChart()} is called. + */ + protected JFreeChart chart; + + /** + * Field storing the visibility of lines in the chart plot. + */ + protected boolean linesVisible; + + /** + * Field storing the visibility of points in the chart plot. + */ + protected boolean shapesVisible; + + /** + * Locale object used for i18n support. + */ + protected Locale locale; + + /** + * ChartLabels + */ + protected ChartLabels labels; + + /** + * ChartTheme + */ + protected ChartTheme theme; + + /** + * Collection which contains a bunch of parameters. + */ + protected Collection parameters; + + /** + * Collection which contains a bunch of measurements. + */ + protected Collection measurements; + + /** + * Collection which contains all data objects used to be displayed in the + * chart. It contains different series and different datasets which is not + * very elegant. + */ + protected Collection resultSet; + + /** + * Collection which contains a bunch of date objects. + */ + protected Collection dates; + + /** + * Collection which contains a bunch of time gap definitions used to + * detect gaps in timeseries charts. + */ + protected Collection timeGaps; + + /** + * Abstract method which needs to be implemented by concrete subclasses. + * This method triggers the JFreeChart creation process. After calling this + * method {@link #chart} should be a valid <code>JFreeChart</code> object. + */ + public abstract JFreeChart generateChart(); +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :