T
- The generic type of object value to convert.public interface Converter<T>
Converter is an interface describing a Java class that can perform Object-to-String and String-to-Object conversions between model data objects and a String representation of those objects that is suitable for rendering.
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.
If any Converter
implementation requires a java.util.Locale
to perform its job, it must
obtain that Locale
from the UIViewRoot
of the current
FacesContext
, unless the Converter
maintains its own Locale
as part of its state.
If the class implementing Converter
has a ResourceDependency
annotation, the action described in ResourceDependency
must be taken when
ValueHolder.setConverter(jakarta.faces.convert.Converter)
is called. If the class implementing Converter
has a ResourceDependencies
annotation, the action described in
ResourceDependencies
must be taken when ValueHolder.setConverter(jakarta.faces.convert.Converter)
is
called.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE_PARAM_NAME
If this param is set, and calling toLowerCase().equals("true") on a String representation of its value returns true, Application.createConverter() must guarantee that the default for the timezone of all jakarta.faces.convert.DateTimeConverter instances must be equal to TimeZone.getDefault() instead of "GMT". |
Modifier and Type | Method and Description |
---|---|
T |
getAsObject(FacesContext context,
UIComponent component,
java.lang.String value)
Convert the specified string value, which is associated with the specified
UIComponent , into a model data object that is appropriate for being stored during the
Process Validations phase of the request processing lifecycle. |
java.lang.String |
getAsString(FacesContext context,
UIComponent component,
T value)
Convert the specified model object value, which is associated with the specified
UIComponent , into a String
that is suitable for being included in the response generated during the Render Response phase of the
request processing lifeycle. |
static final java.lang.String DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE_PARAM_NAME
If this param is set, and calling toLowerCase().equals("true") on a String representation of its value returns true, Application.createConverter() must guarantee that the default for the timezone of all jakarta.faces.convert.DateTimeConverter instances must be equal to TimeZone.getDefault() instead of "GMT".
T getAsObject(FacesContext context, UIComponent component, java.lang.String value)
Convert the specified string value, which is associated with the specified
UIComponent
, into a model data object that is appropriate for being stored during the
Process Validations phase of the request processing lifecycle.
context
- FacesContext
for the request being processedcomponent
- UIComponent
with which this model object value is associatedvalue
- String value to be converted (may be null
)null
if the value to convert is null
, otherwise the result of the conversionConverterException
- if conversion cannot be successfully performedjava.lang.NullPointerException
- if context
or component
is null
java.lang.String getAsString(FacesContext context, UIComponent component, T value)
Convert the specified model object value, which is associated with the specified UIComponent
, into a String
that is suitable for being included in the response generated during the Render Response phase of the
request processing lifeycle.
context
- FacesContext
for the request being processedcomponent
- UIComponent
with which this model object value is associatedvalue
- Model object value to be converted (may be null
)null
, otherwise the result of the conversionConverterException
- if conversion cannot be successfully performedjava.lang.NullPointerException
- if context
or component
is null