Class FormData
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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
The mode on how to handle the scenario when the FormData doesn't have an entry of a certain name. -
Method Summary
Modifier and TypeMethodDescriptionstatic FormData
from
(SlingHttpServletRequest request) Returns the current FormData.<T> T
Returns the value for the given name, converted to type T.<T> T
Returns the value for the given name, converted to type T.getMode()
Returns the mode of the FormData.Returns the values.boolean
isSelected
(String name, String value, boolean isFieldOptionSelected) An overload ofisSelected(String, String, boolean, boolean)
whereforceIgnoreFreshness
parameter isfalse
.boolean
isSelected
(String name, String value, boolean isFieldOptionSelected, boolean forceIgnoreFreshness) Returnstrue
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.
-
Method Details
-
push
@Nonnull public static FormData push(@Nonnull SlingHttpServletRequest request, @Nonnull ValueMap values, @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 valuesvalues
- The values of the FormDatanameNotFoundMode
- The mode when the FormData doesn't have an entry of a certain name- Returns:
- The new instance of FormData
-
pop
@Nonnull public static FormData pop(@Nonnull SlingHttpServletRequest request) throws IllegalStateException Pops the current FormData.- Parameters:
request
- The request storing the values- Returns:
- The current FormData
- Throws:
IllegalStateException
- When this method is called beforepush(SlingHttpServletRequest, ValueMap, NameNotFoundMode)
-
from
Returns the current FormData.- Parameters:
request
- The request storing the values- Returns:
- The current FormData or
null
if there is none
-
getValueMap
Returns the values.- Returns:
- The values
-
getMode
Returns the mode of the FormData.- Returns:
- The mode
-
get
@CheckForNull public <T> T get(@Nonnull String name, @CheckForNull T fieldValue, @Nonnull 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 fieldfieldValue
- The value of the fieldtype
- The class of the type- Returns:
- The value converted to type T, or the given fieldValue, or
null
, depending on the conditions described above.
-
get
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, 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 fieldfieldValue
- The value of the fielddefaultValue
- 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.
-
isSelected
public boolean isSelected(@Nonnull String name, @CheckForNull String value, boolean isFieldOptionSelected) An overload ofisSelected(String, String, boolean, boolean)
whereforceIgnoreFreshness
parameter isfalse
.- Parameters:
name
- The name of the fieldvalue
- The value of the field option to compare againstisFieldOptionSelected
-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.
-
isSelected
public boolean isSelected(@Nonnull String name, @CheckForNull String value, boolean isFieldOptionSelected, boolean forceIgnoreFreshness) Returnstrue
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 fieldvalue
- The value of the field option to compare againstisFieldOptionSelected
-true
if the field option is selected;false
otherwise.forceIgnoreFreshness
-true
to force to beFormData.NameNotFoundMode.IGNORE_FRESHNESS
;false
otherwise.- Returns:
- Whether the given value is selected or not, or the given isFieldOptionSelected, depending on the conditions described above.
-