Class ScriptHelper

java.lang.Object
org.apache.sling.scripting.core.ScriptHelper
All Implemented Interfaces:
org.apache.sling.api.scripting.SlingScriptHelper

public class ScriptHelper extends Object implements org.apache.sling.api.scripting.SlingScriptHelper
Simple script helper providing access to the (wrapped) response, the on-demand writer and a simple API for request inclusion. Instances of this class are made available to the scripts as the global sling variable. Client code using this object should take care to call cleanup() when the object is not used anymore!
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final org.osgi.framework.BundleContext
    The bundle context.
    protected List<org.osgi.framework.ServiceReference<?>>
    The list of references - we don't need to synchronize this as we are running in one single request.
    protected Map<String,Object>
    A map of found services.
  • Constructor Summary

    Constructors
    Constructor
    Description
    ScriptHelper(org.osgi.framework.BundleContext ctx, org.apache.sling.api.scripting.SlingScript script)
     
    ScriptHelper(org.osgi.framework.BundleContext ctx, org.apache.sling.api.scripting.SlingScript script, org.apache.sling.api.SlingHttpServletRequest request, org.apache.sling.api.SlingHttpServletResponse response)
    ScriptHelper(org.osgi.framework.BundleContext ctx, org.apache.sling.api.scripting.SlingScript script, org.apache.sling.api.SlingJakartaHttpServletRequest request, org.apache.sling.api.SlingJakartaHttpServletResponse response)
    Creates a new script helper instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Clean up this instance.
    void
    Deprecated.
    This method is deprecated and should never be called by clients!
    void
     
    void
    forward(String path, String options)
     
    void
    forward(String path, org.apache.sling.api.request.RequestDispatcherOptions options)
     
    void
    forward(org.apache.sling.api.resource.Resource resource)
     
    void
    forward(org.apache.sling.api.resource.Resource resource, String options)
     
    void
    forward(org.apache.sling.api.resource.Resource resource, org.apache.sling.api.request.RequestDispatcherOptions options)
     
    org.apache.sling.api.SlingJakartaHttpServletRequest
     
    org.apache.sling.api.SlingJakartaHttpServletResponse
     
    org.apache.sling.api.SlingHttpServletRequest
     
    org.apache.sling.api.SlingHttpServletResponse
     
    org.apache.sling.api.scripting.SlingScript
     
    <T> T
    getService(Class<T> type)
     
    <T> T[]
    getServices(Class<T> serviceType, String filter)
     
    void
     
    void
    include(String path, String options)
     
    void
    include(String path, org.apache.sling.api.request.RequestDispatcherOptions options)
     
    void
    include(org.apache.sling.api.resource.Resource resource)
     
    void
    include(org.apache.sling.api.resource.Resource resource, String options)
     
    void
    include(org.apache.sling.api.resource.Resource resource, org.apache.sling.api.request.RequestDispatcherOptions options)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • bundleContext

      protected final org.osgi.framework.BundleContext bundleContext
      The bundle context.
    • references

      protected List<org.osgi.framework.ServiceReference<?>> references
      The list of references - we don't need to synchronize this as we are running in one single request.
    • services

      protected Map<String,Object> services
      A map of found services.
  • Constructor Details

    • ScriptHelper

      public ScriptHelper(org.osgi.framework.BundleContext ctx, org.apache.sling.api.scripting.SlingScript script)
    • ScriptHelper

      public ScriptHelper(org.osgi.framework.BundleContext ctx, org.apache.sling.api.scripting.SlingScript script, org.apache.sling.api.SlingJakartaHttpServletRequest request, org.apache.sling.api.SlingJakartaHttpServletResponse response)
      Creates a new script helper instance.
      Parameters:
      ctx - The bundle context, must not be null.
      script - The script, must not be null.
      request - The request, may be null.
      response - The response, may be null.
      Since:
      2.2.0
    • ScriptHelper

      @Deprecated public ScriptHelper(org.osgi.framework.BundleContext ctx, org.apache.sling.api.scripting.SlingScript script, org.apache.sling.api.SlingHttpServletRequest request, org.apache.sling.api.SlingHttpServletResponse response)
      Creates a new script helper instance.
      Parameters:
      ctx - The bundle context, must not be null.
      script - The script, must not be null.
      request - The request, may be null.
      response - The response, may be null.
  • Method Details

    • getScript

      public org.apache.sling.api.scripting.SlingScript getScript()
      Specified by:
      getScript in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.getScript()
    • getJakartaRequest

      public org.apache.sling.api.SlingJakartaHttpServletRequest getJakartaRequest()
      Specified by:
      getJakartaRequest in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.getJakartaRequest()
    • getJakartaResponse

      public org.apache.sling.api.SlingJakartaHttpServletResponse getJakartaResponse()
      Specified by:
      getJakartaResponse in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.getJakartaResponse()
    • getRequest

      public org.apache.sling.api.SlingHttpServletRequest getRequest()
      Specified by:
      getRequest in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.getRequest()
    • getResponse

      public org.apache.sling.api.SlingHttpServletResponse getResponse()
      Specified by:
      getResponse in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.getResponse()
    • include

      public void include(String path)
      Specified by:
      include in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.include(java.lang.String)
    • include

      public void include(String path, String options)
      Specified by:
      include in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.include(java.lang.String, java.lang.String)
    • include

      public void include(String path, org.apache.sling.api.request.RequestDispatcherOptions options)
      Specified by:
      include in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.include(java.lang.String, org.apache.sling.api.request.RequestDispatcherOptions)
    • forward

      public void forward(String path)
      Specified by:
      forward in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.forward(java.lang.String)
    • forward

      public void forward(String path, String options)
      Specified by:
      forward in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.forward(java.lang.String, java.lang.String)
    • forward

      public void forward(String path, org.apache.sling.api.request.RequestDispatcherOptions options)
      Specified by:
      forward in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.forward(java.lang.String, org.apache.sling.api.request.RequestDispatcherOptions)
    • dispose

      @Deprecated public void dispose()
      Deprecated.
      This method is deprecated and should never be called by clients!
      Specified by:
      dispose in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.dispose()
    • getService

      public <T> T getService(Class<T> type)
      Specified by:
      getService in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.getService(java.lang.Class)
    • getServices

      public <T> T[] getServices(Class<T> serviceType, String filter) throws org.apache.sling.api.scripting.InvalidServiceFilterSyntaxException
      Specified by:
      getServices in interface org.apache.sling.api.scripting.SlingScriptHelper
      Throws:
      org.apache.sling.api.scripting.InvalidServiceFilterSyntaxException
      See Also:
      • SlingScriptHelper.getServices(java.lang.Class, java.lang.String)
    • cleanup

      public void cleanup()
      Clean up this instance.
    • forward

      public void forward(org.apache.sling.api.resource.Resource resource)
      Specified by:
      forward in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.forward(org.apache.sling.api.resource.Resource)
    • forward

      public void forward(org.apache.sling.api.resource.Resource resource, String options)
      Specified by:
      forward in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.forward(org.apache.sling.api.resource.Resource, java.lang.String)
    • forward

      public void forward(org.apache.sling.api.resource.Resource resource, org.apache.sling.api.request.RequestDispatcherOptions options)
      Specified by:
      forward in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.forward(org.apache.sling.api.resource.Resource, org.apache.sling.api.request.RequestDispatcherOptions)
    • include

      public void include(org.apache.sling.api.resource.Resource resource)
      Specified by:
      include in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.forward(org.apache.sling.api.resource.Resource)
    • include

      public void include(org.apache.sling.api.resource.Resource resource, String options)
      Specified by:
      include in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.include(org.apache.sling.api.resource.Resource, java.lang.String)
    • include

      public void include(org.apache.sling.api.resource.Resource resource, org.apache.sling.api.request.RequestDispatcherOptions options)
      Specified by:
      include in interface org.apache.sling.api.scripting.SlingScriptHelper
      See Also:
      • SlingScriptHelper.include(org.apache.sling.api.resource.Resource, org.apache.sling.api.request.RequestDispatcherOptions)