Class SlingBindings
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:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.sling.api.scripting.LazyBindings
LazyBindings.SupplierNested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object, V extends Object> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe 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 final StringThe name of the global scripting variable providing a logger which may be used for logging purposes (value is "log").static final StringThe name of the global scripting variable providing thejava.io.PrintWriterobject to return the response content (value is "out").static final StringThe name of the global scripting variable providing theReaderobject (value is "reader").static final StringThe name of the global scripting variable providing theSlingHttpServletRequestobject (value is "request").static final StringThe name of the global scripting variable providing theResourceResolverobject (value is "resolver").static final StringThe name of the global scripting variable providing theResourceobject (value is "resource").static final StringThe name of the global scripting variable providing theSlingHttpServletResponseobject (value is "response").static final StringThe name of the global scripting variable providing theSlingScriptHelperfor the request (value is "sling"). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected <ObjectType>
ObjectTypeHelper method to get an object with a given type from this map.booleangetFlush()@Nullable org.slf4j.LoggergetLog()@Nullable PrintWritergetOut()@Nullable Reader@Nullable SlingHttpServletRequest@Nullable Resource@Nullable ResourceResolver@Nullable SlingHttpServletResponse@Nullable SlingScriptHelpergetSling()protected voidHelper method which invokesHashMap.put(Object, Object)only if the value is not null.voidsetFlush(boolean flush) Sets theFLUSHproperty toflush.voidsetLog(org.slf4j.Logger log) voidsetOut(PrintWriter out) voidvoidsetRequest(SlingHttpServletRequest request) voidsetResource(Resource resource) voidsetResourceResolver(ResourceResolver resourceResolver) voidsetResponse(SlingHttpServletResponse response) voidsetSling(SlingScriptHelper sling) Methods inherited from class org.apache.sling.api.scripting.LazyBindings
clear, containsKey, entrySet, equals, get, getOrDefault, hashCode, isEmpty, keySet, put, putAll, remove, size, valuesMethods inherited from class java.util.HashMap
clone, compute, computeIfAbsent, computeIfPresent, containsValue, forEach, merge, putIfAbsent, remove, replace, replace, replaceAllMethods inherited from class java.util.AbstractMap
toStringMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, containsValue, forEach, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Field Details
-
REQUEST
The name of the global scripting variable providing theSlingHttpServletRequestobject (value is "request"). The value of the scripting variable is the same as that returned by theSlingScriptHelper.getRequest()method.This bound variable is required in the bindings given the script.
- See Also:
-
RESPONSE
The name of the global scripting variable providing theSlingHttpServletResponseobject (value is "response"). The value of the scripting variable is the same as that returned by theSlingScriptHelper.getResponse()method.This bound variable is required in the bindings given the script.
- See Also:
-
READER
The name of the global scripting variable providing theReaderobject (value is "reader").This bound variable is required in the bindings given the script.
- See Also:
-
SLING
The name of the global scripting variable providing theSlingScriptHelperfor 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
REQUESTandRESPONSEvariables. If this variable is not bound, the script implementation will create it before actually evaluating the script.- See Also:
-
RESOURCE
The name of the global scripting variable providing theResourceobject (value is "resource"). The value of the scripting variable is the same as that returned by theSlingScriptHelper.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:
-
RESOLVER
The name of the global scripting variable providing the
ResourceResolverobject (value is "resolver"). The value of the scripting variable is the same as that returned by theSlingScriptHelper.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().getResourceResolvermethod. If this variable is not bound, the script implementation will bind it before actually evaluating the script.- See Also:
-
OUT
The name of the global scripting variable providing thejava.io.PrintWriterobject to return the response content (value is "out"). The value of the scripting variable is the same as that returned by theSlingScriptHelper.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 theRESPONSEvariable. If this variable is not bound, the script implementation will bind it before actually evaluating the script.- See Also:
-
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.Booleanindicating whether to flush the output (value isTRUE) or not (value isFALSE). If the variable has a non-nullvalue of another type, the output is not flush as if the value would beFALSE.- See Also:
-
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 SLF4Jorg.slf4j.Loggerinterface.This bound variable is optional. If this variable is not bound, the script implementation will bind it before actually evaluating the script.
- See Also:
-
-
Constructor Details
-
SlingBindings
public SlingBindings()
-
-
Method Details
-
get
Helper method to get an object with a given type from this map.- Type Parameters:
ObjectType- The object type- Parameters:
key- The key for the objecttype- The object type- Returns:
- The searched object if it has the specified type, otherwise
nullis returned.
-
safePut
Helper method which invokesHashMap.put(Object, Object)only if the value is not null.- Parameters:
key- The key of the objectvalue- The value
-
setFlush
public void setFlush(boolean flush) Sets theFLUSHproperty toflush.- Parameters:
flush- Whether to flush or not
-
getFlush
public boolean getFlush()- Returns:
trueif flush
-
setLog
public void setLog(org.slf4j.Logger log) - Parameters:
log- The logger
-
getLog
@Nullable public @Nullable org.slf4j.Logger getLog()- Returns:
- The logger or
null
-
setOut
- Parameters:
out- The print writer
-
getOut
- Returns:
- The print writer or
null
-
setRequest
- Parameters:
request- The request object.
-
getRequest
Returns theREQUESTproperty if notnulland aSlingHttpServletRequestinstance. Otherwisenullis returned.- Returns:
- The request object or
null
-
setReader
- Parameters:
reader- The reader
-
getReader
- Returns:
- The reader or
null.
-
setResource
- Parameters:
resource- The resource
-
getResource
- Returns:
- The resource or
null.
-
setResourceResolver
- Parameters:
resourceResolver- the Resource Resolver
-
getResourceResolver
Returns theRESOLVERproperty if notnulland aResourceResolverinstance. Otherwisenullis returned.- Returns:
- the bound
ResourceResolverif one exists,nullotherwise
-
setResponse
- Parameters:
response- The response
-
getResponse
Returns theRESPONSEproperty if notnulland aSlingHttpServletResponseinstance. Otherwisenullis returned.- Returns:
- The response or
null.
-
setSling
- Parameters:
sling- The script helper
-
getSling
Returns theSLINGproperty if notnulland aSlingScriptHelperinstance. Otherwisenullis returned.- Returns:
- The script helper or
null.
-