Class SlingBindings

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.String,​java.lang.Object>, javax.script.Bindings

    public class SlingBindings
    extends LazyBindings
    The SlingBindings class is used to prepare global variables for script execution. The constants in this class define names of variables which MUST or MAY be provided for the script execution. Other variables may be define as callers see fit.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.util.AbstractMap

        java.util.AbstractMap.SimpleEntry<K extends java.lang.Object,​V extends java.lang.Object>, java.util.AbstractMap.SimpleImmutableEntry<K extends java.lang.Object,​V extends java.lang.Object>
      • Nested classes/interfaces inherited from interface java.util.Map

        java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String FLUSH
      The name of the global scripting variable indicating whether the output used by the script should be flushed after the script evaluation ended normally (value is "flush").
      static java.lang.String LOG
      The name of the global scripting variable providing a logger which may be used for logging purposes (value is "log").
      static java.lang.String OUT
      The name of the global scripting variable providing the java.io.PrintWriter object to return the response content (value is "out").
      static java.lang.String READER
      The name of the global scripting variable providing the Reader object (value is "reader").
      static java.lang.String REQUEST
      The name of the global scripting variable providing the SlingHttpServletRequest object (value is "request").
      static java.lang.String RESOLVER
      The name of the global scripting variable providing the ResourceResolver object (value is "resolver").
      static java.lang.String RESOURCE
      The name of the global scripting variable providing the Resource object (value is "resource").
      static java.lang.String RESPONSE
      The name of the global scripting variable providing the SlingHttpServletResponse object (value is "response").
      static java.lang.String SLING
      The name of the global scripting variable providing the SlingScriptHelper for the request (value is "sling").
    • Constructor Summary

      Constructors 
      Constructor Description
      SlingBindings()  
    • Field Detail

      • REQUEST

        public static final java.lang.String REQUEST
        The name of the global scripting variable providing the SlingHttpServletRequest object (value is "request"). The value of the scripting variable is the same as that returned by the SlingScriptHelper.getRequest() method.

        This bound variable is required in the bindings given the script.

        See Also:
        Constant Field Values
      • READER

        public static final java.lang.String READER
        The name of the global scripting variable providing the Reader object (value is "reader").

        This bound variable is required in the bindings given the script.

        See Also:
        Constant Field Values
      • SLING

        public static final java.lang.String SLING
        The name of the global scripting variable providing the SlingScriptHelper for the request (value is "sling").

        This bound variable is optional. If existing, the script helper instance must be bound to the same request and response objects as bound with the REQUEST and RESPONSE variables. If this variable is not bound, the script implementation will create it before actually evaluating the script.

        See Also:
        Constant Field Values
      • RESOURCE

        public static final java.lang.String RESOURCE
        The name of the global scripting variable providing the Resource object (value is "resource"). The value of the scripting variable is the same as that returned by the SlingScriptHelper.getRequest().getResource() method.

        This bound variable is optional. If existing, the resource must be bound to the same resource as returned by the SlingHttpServletRequest.getResource() method. If this variable is not bound, the script implementation will bind it before actually evaluating the script.

        See Also:
        Constant Field Values
      • RESOLVER

        public static final java.lang.String RESOLVER

        The name of the global scripting variable providing the ResourceResolver object (value is "resolver"). The value of the scripting variable is the same as that returned by the SlingScriptHelper.getRequest().getResourceResolver() method.

        This bound variable is optional. If existing, the resource resolver must be bound to the same resolver as returned by the SlingHttpServletRequest.getResource().getResourceResolver method. If this variable is not bound, the script implementation will bind it before actually evaluating the script.

        See Also:
        Constant Field Values
      • OUT

        public static final java.lang.String OUT
        The name of the global scripting variable providing the java.io.PrintWriter object to return the response content (value is "out"). The value of the scripting variable is the same as that returned by the SlingScriptHelper.getResponse().getWriter() method.

        Note, that it may be advisable to implement a lazy acquiring writer for the out variable to enable the script to write binary data to the response output stream instead of the writer.

        This bound variable is optional. If existing, the resource must be bound to the same writer as returned by the SlingHttpServletResponse.getWriter() method of the response object bound to the RESPONSE variable. If this variable is not bound, the script implementation will bind it before actually evaluating the script.

        See Also:
        Constant Field Values
      • FLUSH

        public static final java.lang.String FLUSH
        The name of the global scripting variable indicating whether the output used by the script should be flushed after the script evaluation ended normally (value is "flush").

        The type of this variable is java.lang.Boolean indicating whether to flush the output (value is TRUE) or not (value is FALSE). If the variable has a non-null value of another type, the output is not flush as if the value would be FALSE.

        See Also:
        Constant Field Values
      • LOG

        public static final java.lang.String LOG
        The name of the global scripting variable providing a logger which may be used for logging purposes (value is "log"). The logger provides the API defined by the SLF4J org.slf4j.Logger interface.

        This bound variable is optional. If this variable is not bound, the script implementation will bind it before actually evaluating the script.

        See Also:
        Constant Field Values
    • Constructor Detail

      • SlingBindings

        public SlingBindings()
    • Method Detail

      • setFlush

        public void setFlush​(boolean flush)
        Sets the FLUSH property to flush.
        Parameters:
        flush - Whether to flush or not
      • getFlush

        public boolean getFlush()
        Returns the FLUSH property if not null and a boolean. Otherwise false is returned.
        Returns:
        true if flush
      • setLog

        public void setLog​(Logger log)
        Sets the LOG property to log if not null.
        Parameters:
        log - The logger
      • getLog

        @Nullable
        public @Nullable Logger getLog()
        Returns the LOG property if not null and a org.slf4j.Logger instance. Otherwise null is returned.
        Returns:
        The logger or null
      • setOut

        public void setOut​(java.io.PrintWriter out)
        Sets the OUT property to out if not null.
        Parameters:
        out - The print writer
      • getOut

        @Nullable
        public @Nullable java.io.PrintWriter getOut()
        Returns the OUT property if not null and a PrintWriter instance. Otherwise null is returned.
        Returns:
        The print writer or null
      • setRequest

        public void setRequest​(SlingHttpServletRequest request)
        Sets the REQUEST property to request if not null.
        Parameters:
        request - The request object.
      • getRequest

        @Nullable
        public @Nullable SlingHttpServletRequest getRequest()
        Returns the REQUEST property if not null and a SlingHttpServletRequest instance. Otherwise null is returned.
        Returns:
        The request object or null
      • setReader

        public void setReader​(java.io.Reader reader)
        Sets the READER property to reader if not null.
        Parameters:
        reader - The reader
      • getReader

        @Nullable
        public @Nullable java.io.Reader getReader()
        Returns the READER property if not null and a Reader instance. Otherwise null is returned.
        Returns:
        The reader or null.
      • setResource

        public void setResource​(Resource resource)
        Sets the RESOURCE property to resource if not null.
        Parameters:
        resource - The resource
      • getResource

        @Nullable
        public @Nullable Resource getResource()
        Returns the RESOURCE property if not null and a Resource instance. Otherwise null is returned.
        Returns:
        The resource or null.
      • setResourceResolver

        public void setResourceResolver​(ResourceResolver resourceResolver)
        Sets the RESOLVER property to the provided resourceResolver if not null.
        Parameters:
        resourceResolver - the Resource Resolver
      • getResourceResolver

        @Nullable
        public @Nullable ResourceResolver getResourceResolver()
        Returns the RESOLVER property if not null and a ResourceResolver instance. Otherwise null is returned.
        Returns:
        the bound ResourceResolver if one exists, null otherwise
      • setResponse

        public void setResponse​(SlingHttpServletResponse response)
        Sets the RESPONSE property to response if not null.
        Parameters:
        response - The response
      • getResponse

        @Nullable
        public @Nullable SlingHttpServletResponse getResponse()
        Returns the RESPONSE property if not null and a SlingHttpServletResponse instance. Otherwise null is returned.
        Returns:
        The response or null.
      • setSling

        public void setSling​(SlingScriptHelper sling)
        Sets the SLING property to sling if not null.
        Parameters:
        sling - The script helper
      • getSling

        @Nullable
        public @Nullable SlingScriptHelper getSling()
        Returns the SLING property if not null and a SlingScriptHelper instance. Otherwise null is returned.
        Returns:
        The script helper or null.