Interface Converter
- All Known Implementing Classes:
BigDecimalConverter
,BigIntegerConverter
,BooleanConverter
,ByteConverter
,CharacterConverter
,DateTimeConverter
,DoubleConverter
,EnumConverter
,FloatConverter
,IntegerConverter
,LongConverter
,NumberConverter
,ShortConverter
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.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
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". -
Method Summary
Modifier and TypeMethodDescriptiongetAsObject
(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 Apply Request Values phase of the request processing lifecycle.getAsString
(FacesContext context, UIComponent component, Object 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 javax.faces.convert.DateTimeConverter instances must be equal to TimeZone.getDefault() instead of "GMT".
- Since:
- 2.0
- See Also:
-
-
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 Apply Request Values 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
-