Interface ResourceService

All Known Implementing Classes:
ResourceSvc

public interface ResourceService
Service for making plugin resources customizable by user or Plan API.
  • Method Details

    • getInstance

      static ResourceService getInstance()
    • getResource

      WebResource getResource(String pluginName, String fileName, Supplier<WebResource> source)
      Make one of your web resources customizable by user or Plan API.
      Parameters:
      pluginName - Name of your plugin (for config purposes)
      fileName - Name of the file (for customization)
      source - Supplier to use to get the original resource, it is assumed that any text based files are encoded in UTF-8.
      Returns:
      Resource of the customized file.
      Throws:
      IllegalArgumentException - If pluginName is empty or null
      IllegalArgumentException - If fileName is empty or null
      IllegalArgumentException - If source is null
    • addScriptsToResource

      void addScriptsToResource(String pluginName, String fileName, ResourceService.Position position, String... jsSources)
      Add javascript to load in an existing html resource.

      Adds <script src="jsSrc"></script> or multiple to the resource.

      Parameters:
      pluginName - Name of your plugin (for config purposes)
      fileName - Name of the .html file being modified
      position - Where to place the script tag on the page.
      jsSources - Source URLs.
      Throws:
      IllegalArgumentException - If pluginName is empty or null
      IllegalArgumentException - If fileName is null, empty or does not end with .html
      IllegalArgumentException - If position null
      IllegalArgumentException - If jsSources is empty or null
    • addStylesToResource

      void addStylesToResource(String pluginName, String fileName, ResourceService.Position position, String... cssSources)
      Add css to load in an existing html resource.

      Adds <link href="cssSrc" rel="stylesheet"></link> or multiple to the resource.

      Parameters:
      pluginName - Name of your plugin (for config purposes)
      fileName - Name of the .html file being modified
      position - Where to place the link tag on the page.
      cssSources - Source URLs.
      Throws:
      IllegalArgumentException - If pluginName is empty or null
      IllegalArgumentException - If fileName is null, empty or does not end with .html
      IllegalArgumentException - If position null
      IllegalArgumentException - If cssSources is empty or null