~jakarta.faces.CLIENT_WINDOW_MODE --> none and url.~
jakarta.faces.STATE_SAVING_METHOD --> client and server.
jakarta.faces.VALIDATE_EMPTY_FIELDS --> auto, true and false.
~There's only a slight difficulty with client window mode; the javadoc of ClientWindow.CLIENT_WINDOW_MODE_PARAM_NAME literally says "but other values are possible", we should probably remove this phrase.~ Update: it's definitely freeform. Moreover, MyFaces has its own additional variants already (url-redirect, client).
For jakarta.faces.STATE_SAVING_METHOD add new enum StateSavingMethod to StateManager.
For jakarta.faces.VALIDATE_EMPTY_FIELDS add new enum ValidateEmptyFields to UIInput.
While working on PoC for
@FacesConfig
annotation having all context params as attributes/constants, https://github.com/eclipse-ee4j/mojarra/blob/4e486bfabe8b08e5b4588ab8e9198e0bd4c30503/impl/src/main/java/jakarta/faces/annotation/FacesConfig.java I noticed the followingString
based context param values having a fixed set of allowed values such as "auto", "none", etc but these values are in turn not represented by enums such asProjectStage
. We should introduce enums on them in order to have type safety.jakarta.faces.CLIENT_WINDOW_MODE
-->none
andurl
.~jakarta.faces.STATE_SAVING_METHOD
-->client
andserver
.jakarta.faces.VALIDATE_EMPTY_FIELDS
-->auto
,true
andfalse
.~There's only a slight difficulty with client window mode; the javadoc of
ClientWindow.CLIENT_WINDOW_MODE_PARAM_NAME
literally says "but other values are possible", we should probably remove this phrase.~ Update: it's definitely freeform. Moreover, MyFaces has its own additional variants already (url-redirect
,client
).