Class ResourceReferenceRegistry

    • Constructor Detail

      • ResourceReferenceRegistry

        public ResourceReferenceRegistry()
        Constructor.

        Uses DefaultResourceReferenceFactory to create ResourceReference when there is no registered one for the requested attributes

      • ResourceReferenceRegistry

        public ResourceReferenceRegistry​(IResourceReferenceFactory resourceReferenceFactory)
        Constructor
        Parameters:
        resourceReferenceFactory - The factory that will create ResourceReference by Key when there is no registered one
    • Method Detail

      • getResourceReference

        public final ResourceReference getResourceReference​(Class<?> scope,
                                                            String name,
                                                            Locale locale,
                                                            String style,
                                                            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(org.apache.wicket.request.resource.ResourceReference.Key), 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(org.apache.wicket.request.resource.ResourceReference.Key), ClassScanner
      • 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)
      • setResourceReferenceFactory

        public void setResourceReferenceFactory​(IResourceReferenceFactory resourceReferenceFactory)
        Sets the factory to use when a ResourceReference is not previously registered and a new instance should be created
        Parameters:
        resourceReferenceFactory - the factory that will create the resource reference by using the parsed ResourceReference.Key