java/cewolf-1.0/src/main/java/de/laures/cewolf/Storage.java
author František Kučera <franta-hg@frantovo.cz>
Sat Feb 28 21:31:02 2009 +0100 (2009-02-28)
changeset 1 639991d0808a
permissions -rw-r--r--
Rozbalená knihovna verze 1.0
franta-hg@1
     1
/* ================================================================
franta-hg@1
     2
 * Cewolf : Chart enabling Web Objects Framework
franta-hg@1
     3
 * ================================================================
franta-hg@1
     4
 *
franta-hg@1
     5
 * Project Info:  http://cewolf.sourceforge.net
franta-hg@1
     6
 * Project Lead:  Guido Laures (guido@laures.de);
franta-hg@1
     7
 *
franta-hg@1
     8
 * (C) Copyright 2002, by Guido Laures
franta-hg@1
     9
 *
franta-hg@1
    10
 * This library is free software; you can redistribute it and/or modify it under the terms
franta-hg@1
    11
 * of the GNU Lesser General Public License as published by the Free Software Foundation;
franta-hg@1
    12
 * either version 2.1 of the License, or (at your option) any later version.
franta-hg@1
    13
 *
franta-hg@1
    14
 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
franta-hg@1
    15
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
franta-hg@1
    16
 * See the GNU Lesser General Public License for more details.
franta-hg@1
    17
 *
franta-hg@1
    18
 * You should have received a copy of the GNU Lesser General Public License along with this
franta-hg@1
    19
 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
franta-hg@1
    20
 * Boston, MA 02111-1307, USA.
franta-hg@1
    21
 */
franta-hg@1
    22
franta-hg@1
    23
package de.laures.cewolf;
franta-hg@1
    24
franta-hg@1
    25
import javax.servlet.ServletContext;
franta-hg@1
    26
import javax.servlet.http.HttpServletRequest;
franta-hg@1
    27
import javax.servlet.http.HttpSession;
franta-hg@1
    28
import javax.servlet.jsp.PageContext;
franta-hg@1
    29
franta-hg@1
    30
/**
franta-hg@1
    31
 * Pluggable storage. Implement this class to change the
franta-hg@1
    32
 * storage concept which Cewolf uses to store chart imanges and
franta-hg@1
    33
 * provide the implementation class name as init paramter <em>storage</em>
franta-hg@1
    34
 * for Cewolf servlet.
franta-hg@1
    35
 * @author glaures
franta-hg@1
    36
 */
franta-hg@1
    37
public interface Storage{
franta-hg@1
    38
	
franta-hg@1
    39
	/**
franta-hg@1
    40
	 * Stores a chart image.
franta-hg@1
    41
	 * @param cid the image to be stored
franta-hg@1
    42
	 * @param servletContext servletContext which might be needed
franta-hg@1
    43
	 * @return String the storage id which is used to find the image in storage
franta-hg@1
    44
	 */
franta-hg@1
    45
	public String storeChartImage(ChartImage chartImage, PageContext pageContext) throws CewolfException;
franta-hg@1
    46
  
franta-hg@1
    47
	/**
franta-hg@1
    48
	 * Retrieves a chart image.
franta-hg@1
    49
	 * @param id the id of the image
franta-hg@1
    50
	 * @param request the request
franta-hg@1
    51
	 * @return ChartImage the stored image instance
franta-hg@1
    52
	 */
franta-hg@1
    53
	public ChartImage getChartImage(String id, HttpServletRequest request);
franta-hg@1
    54
    
franta-hg@1
    55
	/**
franta-hg@1
    56
	 * Tests if a chart image is already available in thsi store..
franta-hg@1
    57
	 * @param chartImage the image to test
franta-hg@1
    58
	 * @param pageContext the pageContext
franta-hg@1
    59
	 * @return <code>true</code> if a stored instance of this image is availbale
franta-hg@1
    60
	 */
franta-hg@1
    61
	// public boolean contains(ChartImage chartImage, PageContext pageContext);
franta-hg@1
    62
	
franta-hg@1
    63
	/**
franta-hg@1
    64
	 * Returns the key for this 
franta-hg@1
    65
	 * @param chartImage
franta-hg@1
    66
	 * @return String
franta-hg@1
    67
	 */
franta-hg@1
    68
	// public String getKey(ChartImage chartImage);
franta-hg@1
    69
	
franta-hg@1
    70
	/**
franta-hg@1
    71
	 * Method init.
franta-hg@1
    72
	 * @param servletContext
franta-hg@1
    73
	 * @throws CewolfException
franta-hg@1
    74
	 */
franta-hg@1
    75
	public void init(ServletContext servletContext) throws CewolfException;
franta-hg@1
    76
franta-hg@1
    77
franta-hg@1
    78
	/**
franta-hg@1
    79
	 * Removes the image from the storage
franta-hg@1
    80
	 * @param imgId Image id
franta-hg@1
    81
	 * @param request Servlet request
franta-hg@1
    82
	 * @return Image id
franta-hg@1
    83
	 * @throws CewolfException
franta-hg@1
    84
	 */
franta-hg@1
    85
	public String removeChartImage(String imgId, HttpServletRequest request)
franta-hg@1
    86
			throws CewolfException;
franta-hg@1
    87
}