The values are represented as a
ValueMap
. The FormData is set at
request scope, where usually it is set by the form component and read by the
field components.
static class
FormData.NameNotFoundMode
The mode on how to handle the scenario when the FormData doesn't have an
entry of a certain name.
java.lang.String value,
boolean isFieldOptionSelected)
boolean
isSelected
(java.lang.String name,
java.lang.String value,
boolean isFieldOptionSelected,
boolean forceIgnoreFreshness)
Returns
true
if the given value of the field option is selected;
false
otherwise.
static
FormData
pop
(
SlingHttpServletRequest
request)
Pops the current FormData.
static
FormData
push
(
SlingHttpServletRequest
request,
ValueMap
values,
FormData.NameNotFoundMode
nameNotFoundMode)
Creates a new FormData representing the given values to the request scope.
@Nonnull
FormData.NameNotFoundMode
nameNotFoundMode)
Creates a new FormData representing the given values to the request scope.
FormData supports nesting. By calling this method, a new FormData is created
and becomes the current context.
Parameters:
request
- The request to store the values
values
- The values of the FormData
nameNotFoundMode
- The mode when the FormData doesn't have an entry of a certain name
Returns:
The new instance of FormData
public static
FormData
pop(@Nonnull
SlingHttpServletRequest
request)
throws java.lang.IllegalStateException
Pops the current FormData.
Parameters:
request
- The request storing the values
Returns:
The current FormData
Throws:
java.lang.IllegalStateException
- When this method is called before
push(SlingHttpServletRequest, ValueMap, NameNotFoundMode)
public static
FormData
from(@Nonnull
SlingHttpServletRequest
request)
Returns the current FormData.
Parameters:
request
- The request storing the values
Returns:
The current FormData or
null
if there is none
@Nonnull
java.lang.Class<T> type)
Returns the value for the given name, converted to type T.
In the
NameNotFoundMode#CHECK_FRESHNESS
mode, if the given name is
not found and the FormData is fresh, then the given fieldValue is returned.
Otherwise,
null
is returned.
In the
NameNotFoundMode#IGNORE_FRESHNESS
mode, if the given name is
not found, then the given fieldValue is returned.
Type Parameters:
T
- The type of the value
Parameters:
name
- The name of the field
fieldValue
- The value of the field
type
- The class of the type
Returns:
The value converted to type T, or the given fieldValue, or
null
, depending on the conditions described above.
In the
NameNotFoundMode#CHECK_FRESHNESS
mode, if the given name is
not found and the FormData is fresh, then the given fieldValue is returned.
Otherwise, the given defaultValue is returned.
In the
NameNotFoundMode#IGNORE_FRESHNESS
mode, if the given name is
not found, then the given fieldValue is returned.
Type Parameters:
T
- The type of the value
Parameters:
name
- The name of the field
fieldValue
- The value of the field
defaultValue
- The default value
Returns:
The value converted to type T, or the given fieldValue, or the given
default value, depending on the conditions described above.
java.lang.String value,
boolean isFieldOptionSelected)
Parameters:
name
- The name of the field
value
- The value of the field option to compare against
isFieldOptionSelected
-
true
if the field option is selected;
false
otherwise.
Returns:
Whether the given value is selected or not, or the given
isFieldOptionSelected, depending on the conditions described above.
boolean isFieldOptionSelected,
boolean forceIgnoreFreshness)
Returns
true
if the given value of the field option is selected;
false
otherwise.
In the
NameNotFoundMode#CHECK_FRESHNESS
mode, if the given name is
not found and the FormData is fresh, then the given isFieldOptionSelected is
returned,
false
otherwise.
In the
NameNotFoundMode#IGNORE_FRESHNESS
mode, if the given name is
not found, then the given isFieldOptionSelected is returned.
Parameters:
name
- The name of the field
value
- The value of the field option to compare against
isFieldOptionSelected
-
true
if the field option is selected;
false
otherwise.
forceIgnoreFreshness
-
true
to force to be
FormData.NameNotFoundMode.IGNORE_FRESHNESS
;
false
otherwise.
Returns:
Whether the given value is selected or not, or the given
isFieldOptionSelected, depending on the conditions described above.