java/cewolf-1.0/src/main/java/de/laures/cewolf/Storage.java
author František Kučera <franta-hg@frantovo.cz>
Sat, 28 Feb 2009 21:31:02 +0100
changeset 1 639991d0808a
permissions -rw-r--r--
Rozbalená knihovna verze 1.0
     1 /* ================================================================
     2  * Cewolf : Chart enabling Web Objects Framework
     3  * ================================================================
     4  *
     5  * Project Info:  http://cewolf.sourceforge.net
     6  * Project Lead:  Guido Laures (guido@laures.de);
     7  *
     8  * (C) Copyright 2002, by Guido Laures
     9  *
    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, PageContext pageContext) throws CewolfException;
    46   
    47 	/**
    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
    52 	 */
    53 	public ChartImage getChartImage(String id, HttpServletRequest request);
    54     
    55 	/**
    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
    60 	 */
    61 	// public boolean contains(ChartImage chartImage, PageContext pageContext);
    62 	
    63 	/**
    64 	 * Returns the key for this 
    65 	 * @param chartImage
    66 	 * @return String
    67 	 */
    68 	// public String getKey(ChartImage chartImage);
    69 	
    70 	/**
    71 	 * Method init.
    72 	 * @param servletContext
    73 	 * @throws CewolfException
    74 	 */
    75 	public void init(ServletContext servletContext) throws CewolfException;
    76 
    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, HttpServletRequest request)
    86 			throws CewolfException;
    87 }