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 StringWhen dispatching, add the value provided by this option to theRequestPathInfoselectors.static final StringWhen dispatching, use the value provided by this option as the resource type, instead of the one defined by theResource.static final StringWhen dispatching with the include method, any headers set by the included resource are ignored.static final StringWhen dispatching, replace theRequestPathInfoextension by the value provided by this optionstatic final StringWhen dispatching, replaceRequestPathInfoselectors by the value provided by this option.static final StringWhen dispatching, replace theRequestPathInfosuffix 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 givenoptionsstring as follows: If the string is empty ornullno 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_SELECTORSoption ornullif not set.Returns theOPT_FORCE_RESOURCE_TYPEoption ornullif not set.Returns theOPT_REPLACE_EXTENSIONoption ornullif not set.Returns theOPT_REPLACE_SELECTORSoption ornullif not set.Returns theOPT_REPLACE_SUFFIXoption ornullif not set.booleanReturns theOPT_PROTECT_HEADERS_ON_INCLUDEoption orfalseif not set.voidsetAddSelectors(String additionalSelectors) voidsetForceResourceType(String resourceType) voidsetProtectHeadersOnInclude(boolean flag) Sets theOPT_PROTECT_HEADERS_ON_INCLUDEoption to the given value.voidsetReplaceExtension(String replaceExtension) voidsetReplaceSelectors(String replaceSelectors) voidsetReplaceSuffix(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, valuesMethods 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, replaceRequestPathInfoselectors 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 theRequestPathInfoselectors.- See Also:
-
OPT_REPLACE_SUFFIX
When dispatching, replace theRequestPathInfosuffix by the value provided by this option- See Also:
-
OPT_REPLACE_EXTENSION
When dispatching, replace theRequestPathInfoextension 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 givenoptionsstring as follows:- If the string is empty or
nullno 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
RequestDispatcherOptionsobject is created with theOPT_FORCE_RESOURCE_TYPEfield 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
RequestDispatcherOptionsobject 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_TYPEoption ornullif not set.- Returns:
- The resource type.
-
setAddSelectors
- Parameters:
additionalSelectors- The add selectors
-
getAddSelectors
Returns theOPT_ADD_SELECTORSoption ornullif not set.- Returns:
- The add selectors.
-
setReplaceSelectors
Sets theOPT_REPLACE_SELECTORSoption to the givenreplaceSelectorsif notnull. If this value contains an empty string, all original selectors are removed.- Parameters:
replaceSelectors- The replace selectors.
-
getReplaceSelectors
Returns theOPT_REPLACE_SELECTORSoption ornullif not set.- Returns:
- The replace selectors.
-
setReplaceSuffix
- Parameters:
replaceSuffix- The replace suffix
-
getReplaceSuffix
Returns theOPT_REPLACE_SUFFIXoption ornullif not set.- Returns:
- The replace suffix
-
setReplaceExtension
Sets theOPT_REPLACE_EXTENSIONoption to the givenreplaceExtensionif 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_EXTENSIONoption ornullif not set.- Returns:
- The replace extension
- Since:
- 2.5.0
-
setProtectHeadersOnInclude
public void setProtectHeadersOnInclude(boolean flag) Sets theOPT_PROTECT_HEADERS_ON_INCLUDEoption to the given value.- Parameters:
flag- The value to set- Since:
- 2.7.0
-
isProtectHeadersOnInclude
public boolean isProtectHeadersOnInclude()Returns theOPT_PROTECT_HEADERS_ON_INCLUDEoption orfalseif not set.- Returns:
- Are headers protected on include?
- Since:
- 2.7.0
-