Package org.apache.sling.api.request
Class RequestDispatcherOptions
- All Implemented Interfaces:
Serializable
,Cloneable
,Map<String,
String>
RequestDispatcherOptions
are used in the
SlingHttpServletRequest.getRequestDispatcher(org.apache.sling.api.resource.Resource, RequestDispatcherOptions)
method, to give more control on some aspects of the include/forward
mechanism. Typical use cases include:
- Forcing a resource type, to render a Resource in a specific way, like for example render myself in a suitable way for a navigation box.
- Adding selectors when including a Resource, like for example add a "teaser" selector to the request that I'm including here.
- See Also:
-
Nested Class Summary
Nested 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 String
When dispatching, add the value provided by this option to theRequestPathInfo
selectors.static final String
When dispatching, use the value provided by this option as the resource type, instead of the one defined by theResource
.static final String
When dispatching with the include method, any headers set by the included resource are ignored.static final String
When dispatching, replace theRequestPathInfo
extension by the value provided by this optionstatic final String
When dispatching, replaceRequestPathInfo
selectors by the value provided by this option.static final String
When dispatching, replace theRequestPathInfo
suffix by the value provided by this option -
Constructor Summary
ConstructorsConstructorDescriptionCreates an instance with no options set.RequestDispatcherOptions
(String options) Creates a new instances setting options by parsing the givenoptions
string as follows: If the string is empty ornull
no options are set. If the string neither contains a comma nor an equals sign, the string is assumed to be a resource type. -
Method Summary
Modifier and TypeMethodDescriptionReturns theOPT_ADD_SELECTORS
option ornull
if not set.Returns theOPT_FORCE_RESOURCE_TYPE
option ornull
if not set.Returns theOPT_REPLACE_EXTENSION
option ornull
if not set.Returns theOPT_REPLACE_SELECTORS
option ornull
if not set.Returns theOPT_REPLACE_SUFFIX
option ornull
if not set.boolean
Returns theOPT_PROTECT_HEADERS_ON_INCLUDE
option orfalse
if not set.void
setAddSelectors
(String additionalSelectors) void
setForceResourceType
(String resourceType) void
setProtectHeadersOnInclude
(boolean flag) Sets theOPT_PROTECT_HEADERS_ON_INCLUDE
option to the given value.void
setReplaceExtension
(String replaceExtension) void
setReplaceSelectors
(String replaceSelectors) void
setReplaceSuffix
(String replaceSuffix) Methods inherited from class java.util.HashMap
clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
-
Field Details
-
OPT_FORCE_RESOURCE_TYPE
When dispatching, use the value provided by this option as the resource type, instead of the one defined by theResource
.- See Also:
-
OPT_REPLACE_SELECTORS
When dispatching, replaceRequestPathInfo
selectors by the value provided by this option. If this value contains an empty string, all original selectors are removed.- See Also:
-
OPT_ADD_SELECTORS
When dispatching, add the value provided by this option to theRequestPathInfo
selectors.- See Also:
-
OPT_REPLACE_SUFFIX
When dispatching, replace theRequestPathInfo
suffix by the value provided by this option- See Also:
-
OPT_REPLACE_EXTENSION
When dispatching, replace theRequestPathInfo
extension by the value provided by this option- Since:
- 2.5.0
- See Also:
-
OPT_PROTECT_HEADERS_ON_INCLUDE
When dispatching with the include method, any headers set by the included resource are ignored. This defaults to "false".- Since:
- 2.7.0
- See Also:
-
-
Constructor Details
-
RequestDispatcherOptions
public RequestDispatcherOptions()Creates an instance with no options set. -
RequestDispatcherOptions
Creates a new instances setting options by parsing the givenoptions
string as follows:- If the string is empty or
null
no options are set. - If the string neither contains a comma nor an equals sign, the
string is assumed to be a resource type. Hence a
RequestDispatcherOptions
object is created with theOPT_FORCE_RESOURCE_TYPE
field set to the string. - Otherwise the string is assumed to be a comma separated list of name
value pairs where the equals sign is used to separate the name from its
value. Hence a
RequestDispatcherOptions
object is created from the name value pair list.
- Parameters:
options
- The options to set.
- If the string is empty or
-
-
Method Details
-
setForceResourceType
- Parameters:
resourceType
- the resource type
-
getForceResourceType
Returns theOPT_FORCE_RESOURCE_TYPE
option ornull
if not set.- Returns:
- The resource type.
-
setAddSelectors
- Parameters:
additionalSelectors
- The add selectors
-
getAddSelectors
Returns theOPT_ADD_SELECTORS
option ornull
if not set.- Returns:
- The add selectors.
-
setReplaceSelectors
Sets theOPT_REPLACE_SELECTORS
option to the givenreplaceSelectors
if notnull
. If this value contains an empty string, all original selectors are removed.- Parameters:
replaceSelectors
- The replace selectors.
-
getReplaceSelectors
Returns theOPT_REPLACE_SELECTORS
option ornull
if not set.- Returns:
- The replace selectors.
-
setReplaceSuffix
- Parameters:
replaceSuffix
- The replace suffix
-
getReplaceSuffix
Returns theOPT_REPLACE_SUFFIX
option ornull
if not set.- Returns:
- The replace suffix
-
setReplaceExtension
Sets theOPT_REPLACE_EXTENSION
option to the givenreplaceExtension
if notnull
. If this value contains an empty string, the original extension will be removed.- Parameters:
replaceExtension
- The replace extension- Since:
- 2.5.0
-
getReplaceExtension
Returns theOPT_REPLACE_EXTENSION
option ornull
if not set.- Returns:
- The replace extension
- Since:
- 2.5.0
-
setProtectHeadersOnInclude
public void setProtectHeadersOnInclude(boolean flag) Sets theOPT_PROTECT_HEADERS_ON_INCLUDE
option to the given value.- Parameters:
flag
- The value to set- Since:
- 2.7.0
-
isProtectHeadersOnInclude
public boolean isProtectHeadersOnInclude()Returns theOPT_PROTECT_HEADERS_ON_INCLUDE
option orfalse
if not set.- Returns:
- Are headers protected on include?
- Since:
- 2.7.0
-