Package nl.siegmann.epublib.viewer
Class ImageLoaderCache
- java.lang.Object
-
- java.util.Dictionary<java.lang.String,java.awt.Image>
-
- nl.siegmann.epublib.viewer.ImageLoaderCache
-
class ImageLoaderCache extends java.util.Dictionary<java.lang.String,java.awt.Image>This class is a trick to get the JEditorKit to load its images from the epub file instead of from the given url. This class is installed as the JEditorPane's image cache. Whenever it is requested an image it will try to load that image from the epub. Can be shared by multiple documents but can only be used by one document at the time because of the currentFolder issue.
-
-
Field Summary
Fields Modifier and Type Field Description private Bookbookprivate java.util.Map<java.lang.String,java.awt.Image>cacheprivate java.lang.StringcurrentFolderstatic java.lang.StringIMAGE_URL_PREFIXprivate static org.slf4j.Loggerlogprivate Navigatornavigator
-
Constructor Summary
Constructors Constructor Description ImageLoaderCache(Navigator navigator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Clears the image cache.private java.awt.ImagecreateImage(Resource imageResource)Create an Image from the data of the given resource.java.util.Enumeration<java.awt.Image>elements()java.awt.Imageget(java.lang.Object key)private java.lang.StringgetResourceHref(java.lang.String requestUrl)voidinitBook(Book book)voidinitImageLoader(javax.swing.text.html.HTMLDocument document)booleanisEmpty()java.util.Enumeration<java.lang.String>keys()java.awt.Imageput(java.lang.String key, java.awt.Image value)java.awt.Imageremove(java.lang.Object key)voidsetContextResource(Resource resource)intsize()java.lang.StringtoString()
-
-
-
Field Detail
-
IMAGE_URL_PREFIX
public static final java.lang.String IMAGE_URL_PREFIX
- See Also:
- Constant Field Values
-
log
private static final org.slf4j.Logger log
-
cache
private java.util.Map<java.lang.String,java.awt.Image> cache
-
book
private Book book
-
currentFolder
private java.lang.String currentFolder
-
navigator
private Navigator navigator
-
-
Constructor Detail
-
ImageLoaderCache
public ImageLoaderCache(Navigator navigator)
-
-
Method Detail
-
initBook
public void initBook(Book book)
-
setContextResource
public void setContextResource(Resource resource)
-
initImageLoader
public void initImageLoader(javax.swing.text.html.HTMLDocument document)
-
getResourceHref
private java.lang.String getResourceHref(java.lang.String requestUrl)
-
createImage
private java.awt.Image createImage(Resource imageResource)
Create an Image from the data of the given resource.- Parameters:
imageResource-- Returns:
-
get
public java.awt.Image get(java.lang.Object key)
- Specified by:
getin classjava.util.Dictionary<java.lang.String,java.awt.Image>
-
size
public int size()
- Specified by:
sizein classjava.util.Dictionary<java.lang.String,java.awt.Image>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin classjava.util.Dictionary<java.lang.String,java.awt.Image>
-
keys
public java.util.Enumeration<java.lang.String> keys()
- Specified by:
keysin classjava.util.Dictionary<java.lang.String,java.awt.Image>
-
elements
public java.util.Enumeration<java.awt.Image> elements()
- Specified by:
elementsin classjava.util.Dictionary<java.lang.String,java.awt.Image>
-
put
public java.awt.Image put(java.lang.String key, java.awt.Image value)- Specified by:
putin classjava.util.Dictionary<java.lang.String,java.awt.Image>
-
remove
public java.awt.Image remove(java.lang.Object key)
- Specified by:
removein classjava.util.Dictionary<java.lang.String,java.awt.Image>
-
clear
public void clear()
Clears the image cache.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-