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(javax.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(javax.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 javax.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 javax.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