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 following String 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 as ProjectStage. We should introduce enums on them in order to have type safety.
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).
While working on PoC for
@FacesConfigannotation 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 followingStringbased 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-->noneandurl.jakarta.faces.STATE_SAVING_METHOD-->clientandserver.jakarta.faces.VALIDATE_EMPTY_FIELDS-->auto,trueandfalse.There's only a slight difficulty with client window mode; the javadoc ofUpdate: it's definitely freeform. Moreover, MyFaces has its own additional variants already (ClientWindow.CLIENT_WINDOW_MODE_PARAM_NAMEliterally says "but other values are possible", we should probably remove this phrase.url-redirect,client).