Package org.xhtmlrenderer.context
Class StylesheetFactoryImpl
- java.lang.Object
-
- org.xhtmlrenderer.context.StylesheetFactoryImpl
-
- All Implemented Interfaces:
StylesheetFactory
public class StylesheetFactoryImpl extends Object implements StylesheetFactory
A Factory class for Cascading Style Sheets. Sheets are parsed using a single parser instance for all sheets. Sheets are cached by URI using LRU test, but timestamp of file is not checked.- Author:
- Torbjoern Gannholm
-
-
Constructor Summary
Constructors Constructor Description StylesheetFactoryImpl(UserAgentCallback userAgentCallback)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontainsStylesheet(String key)voidflushCachedStylesheets()StylesheetgetCachedStylesheet(String key)Returns a cached sheet by its key; null if no entry for that key.StylesheetgetStylesheet(StylesheetInfo info)Returns a cached sheet by its key; loads and caches it if not in cache; null if not able to loadStylesheetparse(Reader reader, StylesheetInfo info)RulesetparseStyleDeclaration(int origin, String styleDeclaration)voidputStylesheet(String key, Stylesheet sheet)Adds a stylesheet to the factory cache.StylesheetremoveCachedStylesheet(String key)Removes a cached sheet by its key.voidsetSupportCMYKColors(boolean b)voidsetUserAgentCallback(UserAgentCallback userAgent)
-
-
-
Constructor Detail
-
StylesheetFactoryImpl
public StylesheetFactoryImpl(UserAgentCallback userAgentCallback)
-
-
Method Detail
-
parse
public Stylesheet parse(Reader reader, StylesheetInfo info)
- Specified by:
parsein interfaceStylesheetFactory
-
parseStyleDeclaration
public Ruleset parseStyleDeclaration(int origin, String styleDeclaration)
- Specified by:
parseStyleDeclarationin interfaceStylesheetFactory
-
putStylesheet
public void putStylesheet(String key, Stylesheet sheet)
Adds a stylesheet to the factory cache. Will overwrite older entry for same key.- Parameters:
key- Key to use to reference sheet later; must be unique in factory.sheet- The sheet to cache.
-
containsStylesheet
public boolean containsStylesheet(String key)
- Returns:
- true if a Stylesheet with this key has been put in the cache. Note that the Stylesheet may be null.
-
getCachedStylesheet
public Stylesheet getCachedStylesheet(String key)
Returns a cached sheet by its key; null if no entry for that key.- Parameters:
key- The key for this sheet; same as key passed to putStylesheet();- Returns:
- The stylesheet
-
removeCachedStylesheet
public Stylesheet removeCachedStylesheet(String key)
Removes a cached sheet by its key.- Parameters:
key- The key for this sheet; same as key passed to putStylesheet();
-
flushCachedStylesheets
public void flushCachedStylesheets()
-
getStylesheet
public Stylesheet getStylesheet(StylesheetInfo info)
Returns a cached sheet by its key; loads and caches it if not in cache; null if not able to load- Specified by:
getStylesheetin interfaceStylesheetFactory- Parameters:
info- The StylesheetInfo for this sheet- Returns:
- The stylesheet
-
setUserAgentCallback
public void setUserAgentCallback(UserAgentCallback userAgent)
-
setSupportCMYKColors
public void setSupportCMYKColors(boolean b)
-
-