Class UIResourceRegistry

java.lang.Object
org.wso2.carbon.ui.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 Details

    • UIResourceRegistry

      public UIResourceRegistry()
  • Method Details

    • 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/tiles.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/tiles.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
    • canonicalURI

      protected static final String canonicalURI(String s)
    • isPathSeparator

      protected static final boolean isPathSeparator(char c)