1 /* ================================================================
2 * Cewolf : Chart enabling Web Objects Framework
3 * ================================================================
5 * Project Info: http://cewolf.sourceforge.net
6 * Project Lead: Guido Laures (guido@laures.de);
8 * (C) Copyright 2002, by Guido Laures
10 * This library is free software; you can redistribute it and/or modify it under the terms
11 * of the GNU Lesser General Public License as published by the Free Software Foundation;
12 * either version 2.1 of the License, or (at your option) any later version.
14 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
15 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16 * See the GNU Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public License along with this
19 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20 * Boston, MA 02111-1307, USA.
23 package de.laures.cewolf;
25 import javax.servlet.ServletContext;
26 import javax.servlet.http.HttpServletRequest;
27 import javax.servlet.http.HttpSession;
28 import javax.servlet.jsp.PageContext;
31 * Pluggable storage. Implement this class to change the
32 * storage concept which Cewolf uses to store chart imanges and
33 * provide the implementation class name as init paramter <em>storage</em>
37 public interface Storage{
40 * Stores a chart image.
41 * @param cid the image to be stored
42 * @param servletContext servletContext which might be needed
43 * @return String the storage id which is used to find the image in storage
45 public String storeChartImage(ChartImage chartImage, PageContext pageContext) throws CewolfException;
48 * Retrieves a chart image.
49 * @param id the id of the image
50 * @param request the request
51 * @return ChartImage the stored image instance
53 public ChartImage getChartImage(String id, HttpServletRequest request);
56 * Tests if a chart image is already available in thsi store..
57 * @param chartImage the image to test
58 * @param pageContext the pageContext
59 * @return <code>true</code> if a stored instance of this image is availbale
61 // public boolean contains(ChartImage chartImage, PageContext pageContext);
64 * Returns the key for this
68 // public String getKey(ChartImage chartImage);
72 * @param servletContext
73 * @throws CewolfException
75 public void init(ServletContext servletContext) throws CewolfException;
79 * Removes the image from the storage
80 * @param imgId Image id
81 * @param request Servlet request
83 * @throws CewolfException
85 public String removeChartImage(String imgId, HttpServletRequest request)
86 throws CewolfException;