org.jfree.chart.servlet

Class ServletUtilities

public class ServletUtilities extends Object

Utility class used for servlet related JFreeChart operations.
Method Summary
protected static voidcreateTempDir()
Creates the temporary directory if it does not exist.
static StringgetTempFilePrefix()
Returns the prefix for the temporary file names generated by this class.
static StringgetTempOneTimeFilePrefix()
Returns the prefix for "one time" temporary file names generated by this class.
protected static voidregisterChartForDeletion(File tempFile, HttpSession session)
Adds a ChartDeleter object to the session object with the name JFreeChart_Deleter if there is not already one bound to the session and adds the filename to the list of charts to be deleted.
static StringsaveChartAsJPEG(JFreeChart chart, int width, int height, HttpSession session)
Saves the chart as a JPEG format file in the temporary directory.
static StringsaveChartAsJPEG(JFreeChart chart, int width, int height, ChartRenderingInfo info, HttpSession session)
Saves the chart as a JPEG format file in the temporary directory and populates the ChartRenderingInfo object which can be used to generate an HTML image map.
static StringsaveChartAsPNG(JFreeChart chart, int width, int height, HttpSession session)
Saves the chart as a PNG format file in the temporary directory.
static StringsaveChartAsPNG(JFreeChart chart, int width, int height, ChartRenderingInfo info, HttpSession session)
Saves the chart as a PNG format file in the temporary directory and populates the ChartRenderingInfo object which can be used to generate an HTML image map.
static StringsearchReplace(String inputString, String searchString, String replaceString)
Perform a search/replace operation on a String There are String methods to do this since (JDK 1.4)
static voidsendTempFile(String filename, HttpServletResponse response)
Binary streams the specified file in the temporary directory to the HTTP response in 1KB chunks.
static voidsendTempFile(File file, HttpServletResponse response)
Binary streams the specified file to the HTTP response in 1KB chunks.
static voidsendTempFile(File file, HttpServletResponse response, String mimeType)
Binary streams the specified file to the HTTP response in 1KB chunks.
static voidsetTempFilePrefix(String prefix)
Sets the prefix for the temporary file names generated by this class.
static voidsetTempOneTimeFilePrefix(String prefix)
Sets the prefix for the "one time" temporary file names generated by this class.

Method Detail

createTempDir

protected static void createTempDir()
Creates the temporary directory if it does not exist. Throws a RuntimeException if the temporary directory is null. Uses the system property java.io.tmpdir as the temporary directory. This sounds like a strange thing to do but my temporary directory was not created on my default Tomcat 4.0.3 installation. Could save some questions on the forum if it is created when not present.

getTempFilePrefix

public static String getTempFilePrefix()
Returns the prefix for the temporary file names generated by this class.

Returns: The prefix (never null).

getTempOneTimeFilePrefix

public static String getTempOneTimeFilePrefix()
Returns the prefix for "one time" temporary file names generated by this class.

Returns: The prefix.

registerChartForDeletion

protected static void registerChartForDeletion(File tempFile, HttpSession session)
Adds a ChartDeleter object to the session object with the name JFreeChart_Deleter if there is not already one bound to the session and adds the filename to the list of charts to be deleted.

Parameters: tempFile the file to be deleted. session the HTTP session of the client.

saveChartAsJPEG

public static String saveChartAsJPEG(JFreeChart chart, int width, int height, HttpSession session)
Saves the chart as a JPEG format file in the temporary directory.

SPECIAL NOTE: Please avoid using JPEG as an image format for charts, it is a "lossy" format that introduces visible distortions in the resulting image - use PNG instead. In addition, note that JPEG output is supported by JFreeChart only for JRE 1.4.2 or later.

Parameters: chart the JFreeChart to be saved. width the width of the chart. height the height of the chart. session the HttpSession of the client (if null, the temporary file is marked as "one-time" and deleted by the DisplayChart servlet right after it is streamed to the client).

Returns: The filename of the chart saved in the temporary directory.

Throws: IOException if there is a problem saving the file.

saveChartAsJPEG

public static String saveChartAsJPEG(JFreeChart chart, int width, int height, ChartRenderingInfo info, HttpSession session)
Saves the chart as a JPEG format file in the temporary directory and populates the ChartRenderingInfo object which can be used to generate an HTML image map.

SPECIAL NOTE: Please avoid using JPEG as an image format for charts, it is a "lossy" format that introduces visible distortions in the resulting image - use PNG instead. In addition, note that JPEG output is supported by JFreeChart only for JRE 1.4.2 or later.

Parameters: chart the chart to be saved (null not permitted). width the width of the chart height the height of the chart info the ChartRenderingInfo object to be populated session the HttpSession of the client (if null, the temporary file is marked as "one-time" and deleted by the DisplayChart servlet right after it is streamed to the client).

Returns: The filename of the chart saved in the temporary directory

Throws: IOException if there is a problem saving the file.

saveChartAsPNG

public static String saveChartAsPNG(JFreeChart chart, int width, int height, HttpSession session)
Saves the chart as a PNG format file in the temporary directory.

Parameters: chart the JFreeChart to be saved. width the width of the chart. height the height of the chart. session the HttpSession of the client (if null, the temporary file is marked as "one-time" and deleted by the DisplayChart servlet right after it is streamed to the client).

Returns: The filename of the chart saved in the temporary directory.

Throws: IOException if there is a problem saving the file.

saveChartAsPNG

public static String saveChartAsPNG(JFreeChart chart, int width, int height, ChartRenderingInfo info, HttpSession session)
Saves the chart as a PNG format file in the temporary directory and populates the ChartRenderingInfo object which can be used to generate an HTML image map.

Parameters: chart the chart to be saved (null not permitted). width the width of the chart. height the height of the chart. info the ChartRenderingInfo object to be populated (null permitted). session the HttpSession of the client (if null, the temporary file is marked as "one-time" and deleted by the DisplayChart servlet right after it is streamed to the client).

Returns: The filename of the chart saved in the temporary directory.

Throws: IOException if there is a problem saving the file.

searchReplace

public static String searchReplace(String inputString, String searchString, String replaceString)
Perform a search/replace operation on a String There are String methods to do this since (JDK 1.4)

Parameters: inputString the String to have the search/replace operation. searchString the search String. replaceString the replace String.

Returns: The String with the replacements made.

sendTempFile

public static void sendTempFile(String filename, HttpServletResponse response)
Binary streams the specified file in the temporary directory to the HTTP response in 1KB chunks.

Parameters: filename the name of the file in the temporary directory. response the HTTP response object.

Throws: IOException if there is an I/O problem.

sendTempFile

public static void sendTempFile(File file, HttpServletResponse response)
Binary streams the specified file to the HTTP response in 1KB chunks.

Parameters: file the file to be streamed. response the HTTP response object.

Throws: IOException if there is an I/O problem.

sendTempFile

public static void sendTempFile(File file, HttpServletResponse response, String mimeType)
Binary streams the specified file to the HTTP response in 1KB chunks.

Parameters: file the file to be streamed. response the HTTP response object. mimeType the mime type of the file, null allowed.

Throws: IOException if there is an I/O problem.

setTempFilePrefix

public static void setTempFilePrefix(String prefix)
Sets the prefix for the temporary file names generated by this class.

Parameters: prefix the prefix (null not permitted).

setTempOneTimeFilePrefix

public static void setTempOneTimeFilePrefix(String prefix)
Sets the prefix for the "one time" temporary file names generated by this class.

Parameters: prefix the prefix (null not permitted).

Copyright © 2000-2009 by Object Refinery Limited. All Rights Reserved.