javax.faces.convert

## Interface Converter

- All Known Implementing Classes:
    BigDecimalConverter, BigIntegerConverter, BooleanConverter, ByteConverter, CharacterConverter, DateTimeConverter, DoubleConverter, EnumConverter, FloatConverter, IntegerConverter, LongConverter, NumberConverter, ShortConverter

      public interface Converter

  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

    Fields
    Modifier and Type | Field and 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 javax.faces.convert.DateTimeConverter instances must be equal to TimeZone.getDefault() instead of "GMT".

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `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 Apply Request Values phase of the request processing lifecycle.
    `String` | `getAsString(FacesContext context, UIComponent component, Object 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_NAME

          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
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getAsObject

          Object 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 Apply Request Values phase of the request processing lifecycle.

      Parameters:
        `context` - `FacesContext` for the request being processed
        `component` - `UIComponent` with which this model object value is associated
        `value` - String value to be converted (may be `null`)
      Returns:
        `null` if the value to convert is `null`, otherwise the result of the conversion
      Throws:
        `ConverterException` - if conversion cannot be successfully performed
        `NullPointerException` - if `context` or `component` is `null`

    - #### getAsString

          String getAsString(FacesContext context,
                           UIComponent component,
                           Object 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` for the request being processed
        `component` - `UIComponent` with which this model object value is associated
        `value` - Model object value to be converted (may be `null`)
      Returns:
        a zero-length String if value is `null`, otherwise the result of the conversion
      Throws:
        `ConverterException` - if conversion cannot be successfully performed
        `NullPointerException` - if `context` or `component` is `null`

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.