org.apache.wicket.settings
Interface IResourceSettings

All Superinterfaces:
IPropertiesFactoryContext
All Known Implementing Classes:
ResourceSettings

public interface IResourceSettings
extends IPropertiesFactoryContext

Interface for resource related settings

resourcePollFrequency (defaults to no polling frequency) - Frequency at which resources should be polled for changes.

resourceFinder (classpath) - Set this to alter the search path for resources.

useDefaultOnMissingResource (defaults to true) - Set to true to return a default value if available when a required string resource is not found. If set to false then the throwExceptionOnMissingResource flag is used to determine how to behave. If no default is available then this is the same as if this flag were false

A ResourceStreamLocator - An Application's ResourceStreamLocator is used to find resources such as images or markup files. You can supply your own ResourceStreamLocator if your prefer to store your application's resources in a non-standard location (such as a different filesystem location, a particular JAR file or even a database) by overriding the getResourceLocator() method.

Resource Factories - Resource factories can be used to create resources dynamically from specially formatted HTML tag attribute values. For more details, see IResourceFactory, DefaultButtonImageResourceFactory and especially LocalizedImageResource.

A Localizer The getLocalizer() method returns an object encapsulating all of the functionality required to access localized resources. For many localization problems, even this will not be required, as there are convenience methods available to all components: Component.getString(String key) and Component.getString(String key, IModel model).

stringResourceLoaders - A chain of IStringResourceLoader instances that are searched in order to obtain string resources used during localization. By default the chain is set up to first search for resources against a particular component (e.g. page etc.) and then against the application.

Author:
Igor Vaynberg (ivaynberg)

Method Summary
 void addResourceFactory(java.lang.String name, IResourceFactory resourceFactory)
          Adds a resource factory to the list of factories to consult when generating resources automatically
 void addResourceFolder(java.lang.String resourceFolder)
          Convenience method that sets the resource search path to a single folder.
 IResourceCachingStrategy getCachingStrategy()
          gets the resource caching strategy
 ICssCompressor getCssCompressor()
          Get the CSS compressor to remove comments and whitespace characters from css resources
 Duration getDefaultCacheDuration()
          Get the the default cache duration for resources.
 IFileCleaner getFileCleaner()
           
 IJavaScriptCompressor getJavaScriptCompressor()
          Get the javascript compressor to remove comments and whitespace characters from javascripts
 IPackageResourceGuard getPackageResourceGuard()
          Gets the package resource guard.
 java.lang.String getParentFolderPlaceholder()
          Placeholder string for '..' within resource urls (which will be crippled by the browser and not work anymore).
 IPropertiesFactory getPropertiesFactory()
          Get the property factory which will be used to load property files
 IResourceFactory getResourceFactory(java.lang.String name)
           
 IResourceFinder getResourceFinder()
          Gets the resource finder to use when searching for resources.
 Duration getResourcePollFrequency()
           
 java.util.List<IStringResourceLoader> getStringResourceLoaders()
           
 boolean getThrowExceptionOnMissingResource()
           
 boolean getUseDefaultOnMissingResource()
           
 void setCachingStrategy(IResourceCachingStrategy strategy)
          sets the resource caching strategy
 ICssCompressor setCssCompressor(ICssCompressor compressor)
          Set the CSS compressor implemententation use e.g.
 void setDefaultCacheDuration(Duration defaultDuration)
          Set the the default cache duration for resources.
 void setFileCleaner(IFileCleaner fileCleaner)
          Sets a cleaner that can be used to remove files asynchronously.
 IJavaScriptCompressor setJavaScriptCompressor(IJavaScriptCompressor compressor)
          Set the javascript compressor implemententation use e.g.
 void setLocalizer(Localizer localizer)
          Sets the localizer which will be used to find property values.
 void setPackageResourceGuard(IPackageResourceGuard packageResourceGuard)
          Sets the package resource guard.
 void setParentFolderPlaceholder(java.lang.String sequence)
          Placeholder string for '..' within resource urls (which will be crippled by the browser and not work anymore).
 void setPropertiesFactory(IPropertiesFactory factory)
          Set the property factory which will be used to load property files
 void setResourceFinder(IResourceFinder resourceFinder)
          Sets the finder to use when searching for resources.
 void setResourcePollFrequency(Duration resourcePollFrequency)
          Sets the resource polling frequency.
 void setResourceStreamLocator(IResourceStreamLocator resourceStreamLocator)
          Sets the resource stream locator for this application
 void setResourceWatcher(IModificationWatcher watcher)
          Sets the resource watcher
 void setThrowExceptionOnMissingResource(boolean throwExceptionOnMissingResource)
           
 void setUseDefaultOnMissingResource(boolean useDefaultOnMissingResource)
           
 
Methods inherited from interface org.apache.wicket.resource.IPropertiesFactoryContext
getLocalizer, getResourceStreamLocator, getResourceWatcher
 

Method Detail

addResourceFactory

void addResourceFactory(java.lang.String name,
                        IResourceFactory resourceFactory)
Adds a resource factory to the list of factories to consult when generating resources automatically

Parameters:
name - The name to give to the factory
resourceFactory - The resource factory to add

addResourceFolder

void addResourceFolder(java.lang.String resourceFolder)
Convenience method that sets the resource search path to a single folder. use when searching for resources. By default, the resources are located on the classpath. If you want to configure other, additional, search paths, you can use this method

Parameters:
resourceFolder - The resourceFolder to set

getDefaultCacheDuration

Duration getDefaultCacheDuration()
Get the the default cache duration for resources.

Returns:
cache duration (Duration.NONE will be returned if caching is disabled)
See Also:
Duration.NONE

getPackageResourceGuard

IPackageResourceGuard getPackageResourceGuard()
Gets the package resource guard.

Returns:
The package resource guard

getPropertiesFactory

IPropertiesFactory getPropertiesFactory()
Get the property factory which will be used to load property files

Returns:
PropertiesFactory

getResourceFactory

IResourceFactory getResourceFactory(java.lang.String name)
Parameters:
name - Name of the factory to get
Returns:
The IResourceFactory with the given name.

getResourceFinder

IResourceFinder getResourceFinder()
Gets the resource finder to use when searching for resources.

Returns:
Returns the resourceFinder.
See Also:
setResourceFinder(IResourceFinder)

getResourcePollFrequency

Duration getResourcePollFrequency()
Returns:
Returns the resourcePollFrequency.
See Also:
setResourcePollFrequency(Duration)

getStringResourceLoaders

java.util.List<IStringResourceLoader> getStringResourceLoaders()
Returns:
mutable list of all available string resource loaders

getThrowExceptionOnMissingResource

boolean getThrowExceptionOnMissingResource()
Returns:
boolean

getUseDefaultOnMissingResource

boolean getUseDefaultOnMissingResource()
Returns:
Whether to use a default value (if available) when a missing resource is requested

setDefaultCacheDuration

void setDefaultCacheDuration(Duration defaultDuration)
Set the the default cache duration for resources.

Based on RFC-2616 this should not exceed one year. If you set Duration.NONE caching will be disabled.

Parameters:
defaultDuration - default cache duration in seconds
See Also:
Duration.NONE, WebResponse.MAX_CACHE_DURATION

setLocalizer

void setLocalizer(Localizer localizer)
Sets the localizer which will be used to find property values.

Parameters:
localizer -
Since:
1.3.0

setPackageResourceGuard

void setPackageResourceGuard(IPackageResourceGuard packageResourceGuard)
Sets the package resource guard.

Parameters:
packageResourceGuard - The package resource guard

setPropertiesFactory

void setPropertiesFactory(IPropertiesFactory factory)
Set the property factory which will be used to load property files

Parameters:
factory -

setResourceFinder

void setResourceFinder(IResourceFinder resourceFinder)
Sets the finder to use when searching for resources. By default, the resources are located on the classpath. If you want to configure other, additional, search paths, you can use this method.

Parameters:
resourceFinder - The resourceFinder to set

setResourcePollFrequency

void setResourcePollFrequency(Duration resourcePollFrequency)
Sets the resource polling frequency. This is the duration of time between checks of resource modification times. If a resource, such as an HTML file, has changed, it will be reloaded. The default is one second in 'development' mode and 'never' in deployment mode.

Parameters:
resourcePollFrequency - Frequency at which to poll resources or null if polling should be disabled
See Also:
setResourceFinder(IResourceFinder)

setResourceStreamLocator

void setResourceStreamLocator(IResourceStreamLocator resourceStreamLocator)
Sets the resource stream locator for this application

Parameters:
resourceStreamLocator - new resource stream locator

setResourceWatcher

void setResourceWatcher(IModificationWatcher watcher)
Sets the resource watcher

Parameters:
watcher -

setFileCleaner

void setFileCleaner(IFileCleaner fileCleaner)
Sets a cleaner that can be used to remove files asynchronously.

Used internally to delete the temporary files created by FileUpload functionality

Parameters:
fileCleaner - the actual cleaner implementation. Can be null

getFileCleaner

IFileCleaner getFileCleaner()
Returns:
the a cleaner which can be used to remove files asynchronously.

setThrowExceptionOnMissingResource

void setThrowExceptionOnMissingResource(boolean throwExceptionOnMissingResource)
Parameters:
throwExceptionOnMissingResource -

setUseDefaultOnMissingResource

void setUseDefaultOnMissingResource(boolean useDefaultOnMissingResource)
Parameters:
useDefaultOnMissingResource - Whether to use a default value (if available) when a missing resource is requested

setJavaScriptCompressor

IJavaScriptCompressor setJavaScriptCompressor(IJavaScriptCompressor compressor)
Set the javascript compressor implemententation use e.g. by JavaScriptPackageResource. A typical implementation will remove comments and whitespace. But a no-op implementation is available as well.

Parameters:
compressor - The implementation to be used
Returns:
The old value

getJavaScriptCompressor

IJavaScriptCompressor getJavaScriptCompressor()
Get the javascript compressor to remove comments and whitespace characters from javascripts

Returns:
whether the comments and whitespace characters will be stripped from resources served through JavaScriptPackageResource. Null is a valid value.

getParentFolderPlaceholder

java.lang.String getParentFolderPlaceholder()
Placeholder string for '..' within resource urls (which will be crippled by the browser and not work anymore). Note that by default the placeholder string is null and thus will not allow to access parent folders. That is by purpose and for security reasons (see Wicket-1992). In case you really need it, a good value for placeholder would e.g. be "$up$". Resources additionally are protected by a IPackageResourceGuard implementation such as PackageResourceGuard which you may use or extend based on your needs.

Returns:
placeholder

setParentFolderPlaceholder

void setParentFolderPlaceholder(java.lang.String sequence)
Placeholder string for '..' within resource urls (which will be crippled by the browser and not work anymore). Note that by default the placeholder string is null and thus will not allow to access parent folders. That is by purpose and for security reasons (see Wicket-1992). In case you really need it, a good value for placeholder would e.g. be "$up$". Resources additionally are protected by a IPackageResourceGuard implementation such as PackageResourceGuard which you may use or extend based on your needs.

Parameters:
sequence - character sequence which must not be ambiguous within urls
See Also:
getParentFolderPlaceholder()

getCachingStrategy

IResourceCachingStrategy getCachingStrategy()
gets the resource caching strategy

Returns:
strategy

setCachingStrategy

void setCachingStrategy(IResourceCachingStrategy strategy)
sets the resource caching strategy

Parameters:
strategy - instance of resource caching strategy
See Also:
IResourceCachingStrategy

setCssCompressor

ICssCompressor setCssCompressor(ICssCompressor compressor)
Set the CSS compressor implemententation use e.g. by CssPackageResource. A typical implementation will remove comments and whitespace. But a no-op implementation is available as well.

Parameters:
compressor - The implementation to be used
Returns:
The old value

getCssCompressor

ICssCompressor getCssCompressor()
Get the CSS compressor to remove comments and whitespace characters from css resources

Returns:
whether the comments and whitespace characters will be stripped from resources served through CssPackageResource. Null is a valid value.


Copyright © 2006-2011 Apache Software Foundation. All Rights Reserved.