jfreerails.client.common
Class ImageManagerImpl

java.lang.Object
  extended by jfreerails.client.common.ImageManagerImpl
All Implemented Interfaces:
ImageManager

public class ImageManagerImpl
extends java.lang.Object
implements ImageManager

Implementation of ImageManager that returns images that are compatible with the current graphics configuration and whose transparency is set to TRANSLUCENT, the scaled images it returns are rendered with renderingHints set for quality.

Author:
Luke

Field Summary
private static java.lang.String A_REGEX
          Matches anying but a string beginning with a "/"*.
private  java.awt.GraphicsConfiguration defaultConfiguration
           
private  java.util.HashMap<java.lang.String,java.awt.Image> imageHashMap
           
private static java.util.logging.Logger logger
           
private  java.lang.String pathToReadFrom
           
private  java.lang.String pathToWriteTo
           
private static java.util.regex.Pattern pattern
           
private  java.awt.RenderingHints renderingHints
           
private  java.util.HashMap<java.lang.String,java.awt.Image> scaledImagesHashMap
           
 
Constructor Summary
ImageManagerImpl(java.lang.String readpath)
           
ImageManagerImpl(java.lang.String readpath, java.lang.String writePath)
           
 
Method Summary
 boolean contains(java.lang.String relativeFilename)
           
 java.awt.Image getImage(java.lang.String relativeFilename)
           
 java.awt.Image getScaledImage(java.lang.String relativeFilename, int height)
          Returns the specified image scaled so that its height is equal to the specified height.
static boolean isValid(java.lang.String s)
           
 java.awt.Image newBlankImage(int height, int width)
           
 void setImage(java.lang.String relativeFilename, java.awt.Image i)
           
 void setPathToReadFrom(java.lang.String s)
           
 void setPathToWriteTo(java.lang.String s)
           
 void writeAllImages()
           
 void writeImage(java.lang.String relativeFilename)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

A_REGEX

private static final java.lang.String A_REGEX
Matches anying but a string beginning with a "/"*. The reason for this check is that relative filenames such as "/cursor/removetrack.png" work from with files but not from within jars, which lets bugs slip in.

See Also:
Constant Field Values

logger

private static final java.util.logging.Logger logger

pattern

private static final java.util.regex.Pattern pattern

defaultConfiguration

private final java.awt.GraphicsConfiguration defaultConfiguration

imageHashMap

private final java.util.HashMap<java.lang.String,java.awt.Image> imageHashMap

pathToReadFrom

private java.lang.String pathToReadFrom

pathToWriteTo

private java.lang.String pathToWriteTo

renderingHints

private final java.awt.RenderingHints renderingHints

scaledImagesHashMap

private final java.util.HashMap<java.lang.String,java.awt.Image> scaledImagesHashMap
Constructor Detail

ImageManagerImpl

public ImageManagerImpl(java.lang.String readpath)

ImageManagerImpl

public ImageManagerImpl(java.lang.String readpath,
                        java.lang.String writePath)
Method Detail

isValid

public static boolean isValid(java.lang.String s)

contains

public boolean contains(java.lang.String relativeFilename)
Specified by:
contains in interface ImageManager

getImage

public java.awt.Image getImage(java.lang.String relativeFilename)
                        throws java.io.IOException
Specified by:
getImage in interface ImageManager
Throws:
java.io.IOException

getScaledImage

public java.awt.Image getScaledImage(java.lang.String relativeFilename,
                                     int height)
                              throws java.io.IOException
Returns the specified image scaled so that its height is equal to the specified height.

Specified by:
getScaledImage in interface ImageManager
Throws:
java.io.IOException

newBlankImage

public java.awt.Image newBlankImage(int height,
                                    int width)
Specified by:
newBlankImage in interface ImageManager

setImage

public void setImage(java.lang.String relativeFilename,
                     java.awt.Image i)
Specified by:
setImage in interface ImageManager

setPathToReadFrom

public void setPathToReadFrom(java.lang.String s)
Specified by:
setPathToReadFrom in interface ImageManager

setPathToWriteTo

public void setPathToWriteTo(java.lang.String s)
Specified by:
setPathToWriteTo in interface ImageManager

writeAllImages

public void writeAllImages()
                    throws java.io.IOException
Specified by:
writeAllImages in interface ImageManager
Throws:
java.io.IOException

writeImage

public void writeImage(java.lang.String relativeFilename)
                throws java.io.IOException
Specified by:
writeImage in interface ImageManager
Throws:
java.io.IOException