Converter implementations must have a zero-arguments public constructor. In addition, if the Converter class wishes to have configuration property values saved and restored with the component tree, the implementation must also implement StateHolder.
Starting with version 1.2 of the specification, an exception to the above zero-arguments constructor requirement has been introduced. If a converter has a single argument constructor that takes a
Class instance and the
Class of the data to be converted is known at converter instantiation time, this constructor must be used to instantiate the converter instead of the zero-argument version. This enables the per-class conversion of Java enumerated types.
Converter implementation requires a
java.util.Locale to perform its job, it must obtain that
Locale from the javax.faces.component.UIViewRoot of the current FacesContext, unless the
Converter maintains its own
Locale as part of its state.
If the class implementing
Converter has a javax.faces.application.ResourceDependency annotation, the action described in
ResourceDependency must be taken when javax.faces.component.ValueHolder#setConverter is called. If the class implementing
Converter has a javax.faces.application.ResourceDependencies annotation, the action described in
ResourceDependencies must be taken when javax.faces.component.ValueHolder#setConverter is called.
Public Member Functions
|Object||getAsObject (FacesContext context, UIComponent component, String value)|
|String||getAsString (FacesContext context, UIComponent component, Object value)|