org.apache.wicket.request.resource
Class ResourceReferenceRegistry

java.lang.Object
  extended by org.apache.wicket.request.resource.ResourceReferenceRegistry

public class ResourceReferenceRegistry
extends java.lang.Object

Allows to register and lookup ResourceReferences per Application.

Author:
Matej Knopp, Juergen Donnerstag
See Also:
Application.getResourceReferenceRegistry(), Application.newResourceReferenceRegistry()

Constructor Summary
ResourceReferenceRegistry()
          Construct.
 
Method Summary
 void clearAutoAddedEntries()
          Unregisters all auto-added Resource References
protected  ResourceReference createDefaultResourceReference(ResourceReference.Key key)
          Creates a default resource reference in case no registry entry and it was requested to create one.
 int getAutoAddedCacheSize()
           
 int getAutoAddedCapacity()
          Gets cache size in number of entries
 ResourceReference getResourceReference(java.lang.Class<?> scope, java.lang.String name, java.util.Locale locale, java.lang.String style, java.lang.String variation, boolean strict, boolean createIfNotFound)
          Get a resource reference matching the parameters from the registry or if not found and requested, create an default resource reference and add it to the registry.
 ResourceReference getResourceReference(ResourceReference.Key key, boolean strict, boolean createIfNotFound)
          Get a resource reference matching the parameters from the registry or if not found and requested, create an default resource reference and add it to the registry.
 int getSize()
           
 boolean registerResourceReference(ResourceReference reference)
          Registers the given ResourceReference.
 void setAutoAddedCapacity(int autoAddedCapacity)
          Set the cache size in number of entries
 ResourceReference unregisterResourceReference(ResourceReference.Key key)
          Unregisters the given ResourceReference.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResourceReferenceRegistry

public ResourceReferenceRegistry()
Construct.

Method Detail

registerResourceReference

public final boolean registerResourceReference(ResourceReference reference)
Registers the given ResourceReference.

ResourceReference.canBeRegistered() must return true. Else, the resource reference will not be registered.

Parameters:
reference -
Returns:
True, if the resource was registered successfully or has been registered previously already.

unregisterResourceReference

public final ResourceReference unregisterResourceReference(ResourceReference.Key key)
Unregisters the given ResourceReference.

Parameters:
key - the ResourceReference's identifier
Returns:
Null, if the registry did not contain an entry for the resource reference.

getResourceReference

public final ResourceReference getResourceReference(java.lang.Class<?> scope,
                                                    java.lang.String name,
                                                    java.util.Locale locale,
                                                    java.lang.String style,
                                                    java.lang.String variation,
                                                    boolean strict,
                                                    boolean createIfNotFound)
Get a resource reference matching the parameters from the registry or if not found and requested, create an default resource reference and add it to the registry.

Part of the search is scanning the class (scope) and it's superclass for static ResourceReference fields. Found fields get registered automatically (but are different from auto-generated ResourceReferences).

Parameters:
scope - The scope of resource reference (e.g. the Component's class)
name - The name of resource reference (e.g. filename)
locale - see Component
style - see Component
variation - see Component
strict - If true, "weaker" combination of scope, name, locale etc. are not tested
createIfNotFound - If true a default resource reference is created if no entry can be found in the registry. The newly created resource reference will be added to the registry.
Returns:
Either the resource reference found in the registry or, if requested, a resource reference automatically created based on the parameters provided. The automatically created resource reference will automatically be added to the registry.
See Also:
#createDefaultResourceReference(Class, String, Locale, String, String), ClassScanner

getResourceReference

public final ResourceReference getResourceReference(ResourceReference.Key key,
                                                    boolean strict,
                                                    boolean createIfNotFound)
Get a resource reference matching the parameters from the registry or if not found and requested, create an default resource reference and add it to the registry.

Part of the search is scanning the class (scope) and it's superclass for static ResourceReference fields. Found fields get registered automatically (but are different from auto-generated ResourceReferences).

Parameters:
key - The data making up the resource reference
strict - If true, "weaker" combination of scope, name, locale etc. are not tested
createIfNotFound - If true a default resource reference is created if no entry can be found in the registry. The newly created resource reference will be added to the registry.
Returns:
Either the resource reference found in the registry or, if requested, a resource reference automatically created based on the parameters provided. The automatically created resource reference will automatically be added to the registry.
See Also:
#createDefaultResourceReference(Class, String, Locale, String, String), ClassScanner

createDefaultResourceReference

protected ResourceReference createDefaultResourceReference(ResourceReference.Key key)
Creates a default resource reference in case no registry entry and it was requested to create one.

A PackageResourceReference will be created by default

Parameters:
key -
Returns:
The RR created or null if not successful

setAutoAddedCapacity

public final void setAutoAddedCapacity(int autoAddedCapacity)
Set the cache size in number of entries

Parameters:
autoAddedCapacity - A value < 0 will disable aging of auto-create resource references. They will be created, added to the registry and live their until manually removed or the application shuts down.

getAutoAddedCapacity

public final int getAutoAddedCapacity()
Gets cache size in number of entries

Returns:
capacity

clearAutoAddedEntries

public final void clearAutoAddedEntries()
Unregisters all auto-added Resource References


getAutoAddedCacheSize

public final int getAutoAddedCacheSize()
Returns:
Number of auto-generated (and registered) resource references.

getSize

public final int getSize()
Returns:
Number of registered resource references (normal and auto-generated)


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