01: /* ================================================================
02: * Cewolf : Chart enabling Web Objects Framework
03: * ================================================================
04: *
05: * Project Info: http://cewolf.sourceforge.net
06: * Project Lead: Guido Laures (guido@laures.de);
07: *
08: * (C) Copyright 2002, by Guido Laures
09: *
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.
13: *
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.
17: *
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.
21: */
22:
23: package de.laures.cewolf;
24:
25: import javax.servlet.ServletContext;
26: import javax.servlet.http.HttpServletRequest;
27: import javax.servlet.http.HttpSession;
28: import javax.servlet.jsp.PageContext;
29:
30: /**
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>
34: * for Cewolf servlet.
35: * @author glaures
36: */
37: public interface Storage {
38:
39: /**
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
44: */
45: public String storeChartImage(ChartImage chartImage,
46: PageContext pageContext) throws CewolfException;
47:
48: /**
49: * Retrieves a chart image.
50: * @param id the id of the image
51: * @param request the request
52: * @return ChartImage the stored image instance
53: */
54: public ChartImage getChartImage(String id,
55: HttpServletRequest request);
56:
57: /**
58: * Tests if a chart image is already available in thsi store..
59: * @param chartImage the image to test
60: * @param pageContext the pageContext
61: * @return <code>true</code> if a stored instance of this image is availbale
62: */
63: // public boolean contains(ChartImage chartImage, PageContext pageContext);
64: /**
65: * Returns the key for this
66: * @param chartImage
67: * @return String
68: */
69: // public String getKey(ChartImage chartImage);
70: /**
71: * Method init.
72: * @param servletContext
73: * @throws CewolfException
74: */
75: public void init(ServletContext servletContext)
76: throws CewolfException;
77:
78: /**
79: * Removes the image from the storage
80: * @param imgId Image id
81: * @param request Servlet request
82: * @return Image id
83: * @throws CewolfException
84: */
85: public String removeChartImage(String imgId,
86: HttpServletRequest request) throws CewolfException;
87: }
|