Top Description Fields Methods
javax.faces.convert

public Interface Converter<T>

Known Direct Implementers
javax.faces.convert.CharacterConverter, javax.faces.convert.ByteConverter, javax.faces.convert.BooleanConverter, javax.faces.convert.BigIntegerConverter, javax.faces.convert.BigDecimalConverter, javax.faces.convert.ShortConverter, javax.faces.convert.NumberConverter, javax.faces.convert.LongConverter, javax.faces.convert.IntegerConverter, javax.faces.convert.FloatConverter, javax.faces.convert.EnumConverter, javax.faces.convert.DoubleConverter, javax.faces.convert.DateTimeConverter
Type Parameters
<T>
The generic type of object value to convert.
Imports
javax.faces.component.StateHolder, .UIComponent, javax.faces.context.FacesContext

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

Field Summary

Modifier and TypeField and Description
public static final 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".

Method Summary

Modifier and TypeMethod and Description
public T

Returns:

null if the value to convert is null, otherwise the result of the conversion
getAsObject
(FacesContext
FacesContext for the request being processed
context
,
UIComponent
UIComponent with which this model object value is associated
component
,
String
String value to be converted (may be null)
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.

public String

Returns:

a zero-length String if value is null, otherwise the result of the conversion
getAsString
(FacesContext
FacesContext for the request being processed
context
,
UIComponent
UIComponent with which this model object value is associated
component
,
T
Model object value to be converted (may be null)
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.

Field Detail

DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE_PARAM_NAMEback to summary
public static final 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".

Since
2.0

Method Detail

getAsObjectback to summary
public T getAsObject(FacesContext context, UIComponent component, 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.

Parameters
context:FacesContext

FacesContext for the request being processed

component:UIComponent

UIComponent with which this model object value is associated

value:String

String value to be converted (may be null)

Returns:T

null if the value to convert is null, otherwise the result of the conversion

Exceptions
ConverterException:
if conversion cannot be successfully performed
NullPointerException:
if context or component is null
getAsStringback to summary
public 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.

Parameters
context:FacesContext

FacesContext for the request being processed

component:UIComponent

UIComponent with which this model object value is associated

value:T

Model object value to be converted (may be null)

Returns:String

a zero-length String if value is null, otherwise the result of the conversion

Exceptions
ConverterException:
if conversion cannot be successfully performed
NullPointerException:
if context or component is null