Class UIResourceRegistry

  • All Implemented Interfaces:
    EventListener, org.osgi.framework.ServiceListener, UIResourceProvider

    public class UIResourceRegistry
    extends Object
    implements UIResourceProvider, org.osgi.framework.ServiceListener
    This class acts as a registry for UI resources. JspServlet and other parties who need UI resources, use an instance of this class to load UI resources.

    First this class loads the requested resource from the default resourceProvider, which is the BundleBasedUIResourceProvider. If it fails, the this class loads the resource from the custom UIResourceProviders

    • Constructor Detail

      • UIResourceRegistry

        public UIResourceRegistry()
    • Method Detail

      • initialize

        public void initialize​(org.osgi.framework.BundleContext bundleContext)
      • getUIResource

        public URL getUIResource​(String path)
        Description copied from interface: UIResourceProvider
        Returns a URL to the resource that is mapped to a specified path. The path must begin with a "/" and is interpreted as relative to the current context root. This method returns null if no resource is mapped to the pathname.
        Specified by:
        getUIResource in interface UIResourceProvider
        Parameters:
        path - a String specifying the path to the resource
        Returns:
        the resource located at the named path, or null if there is no resource at that path
      • getUIResourcePaths

        public Set<String> getUIResourcePaths​(String path)
        Description copied from interface: UIResourceProvider
        Returns a directory-like listing of all the paths to resources within the web application whose longest sub-path matches the supplied path argument. Paths indicating subdirectory paths end with a '/'. The returned paths are all relative to the root of resource provider and have a leading '/'. For example, for a resource provider containing /welcome.html /WEB_INF /WEB-INF/web.xml /WEB-INF/tiles /WEB-INF/tiles/main_defs.xml getResourcePaths("/") returns {"/welcome.html", "/WEB_INF"}. getResourcePaths("/WEB_INF/") returns {"/WEB-INF/web.xml", "/WEB-INF/tiles/"}. getResourcePaths("/WEB-INF/tiles/") returns {"/WEB-INF/tiles/main_defs.xml"}.
        Specified by:
        getUIResourcePaths in interface UIResourceProvider
        Parameters:
        path - partial path used to match the resources, which must start with a /
        Returns:
        a Set containing the directory listing, or null if there are no resources whose path begins with the supplied path.
      • setDefaultUIResourceProvider

        public void setDefaultUIResourceProvider​(UIResourceProvider defaultUIResourceProvider)
      • serviceChanged

        public void serviceChanged​(org.osgi.framework.ServiceEvent serviceEvent)
        Specified by:
        serviceChanged in interface org.osgi.framework.ServiceListener