Interface Converter<T>
- Type Parameters:
T
- The generic type of object value to convert.
- All Known Implementing Classes:
BigDecimalConverter
,BigIntegerConverter
,BooleanConverter
,ByteConverter
,CdiConverter
,CharacterConverter
,ConverterTag.BindingConverter
,DateTimeConverter
,DoubleConverter
,EnumConverter
,FloatConverter
,IntegerConverter
,LongConverter
,NumberConverter
,ShortConverter
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.
-
Field Summary
Fields Modifier and Type Field Description static 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". -
Method Summary
Modifier and Type Method Description T
getAsObject(FacesContext context, UIComponent component, String value)
Convert the specified string value, which is associated with the specifiedUIComponent
, into a model data object that is appropriate for being stored during the Process Validations phase of the request processing lifecycle.String
getAsString(FacesContext context, UIComponent component, T value)
Convert the specified model object value, which is associated with the specifiedUIComponent
, into a String that is suitable for being included in the response generated during the Render Response phase of the request processing lifeycle.
-
Field Details
-
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".
- Since:
- 2.0
- See Also:
- Constant Field Values
-
-
Method Details
-
getAsObject
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.- Parameters:
context
-FacesContext
for the request being processedcomponent
-UIComponent
with which this model object value is associatedvalue
- String value to be converted (may benull
)- Returns:
null
if the value to convert isnull
, otherwise the result of the conversion- Throws:
ConverterException
- if conversion cannot be successfully performedNullPointerException
- ifcontext
orcomponent
isnull
-
getAsString
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.- Parameters:
context
-FacesContext
for the request being processedcomponent
-UIComponent
with which this model object value is associatedvalue
- Model object value to be converted (may benull
)- Returns:
- a zero-length String if value is
null
, otherwise the result of the conversion - Throws:
ConverterException
- if conversion cannot be successfully performedNullPointerException
- ifcontext
orcomponent
isnull
-