Package org.apache.tapestry5.internal.services

# Class FieldValidationSupportImpl

java.lang.Object
org.apache.tapestry5.internal.services.FieldValidationSupportImpl

All Implemented Interfaces:
  `FieldValidationSupport`

public class FieldValidationSupportImpl extends Object implements FieldValidationSupport

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FieldValidationSupportImpl(TypeCoercer typeCoercer, PropertyAccess propertyAccess)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `parseClient(String clientValue, ComponentResources componentResources, FieldTranslator<Object> translator, NullFieldStrategy nullFieldStrategy)`
  A wrapper around `Translator.parseClient(Field, String, String)`.
  `String`
  `toClient(Object value, ComponentResources componentResources, FieldTranslator<Object> translator, NullFieldStrategy nullFieldStrategy)`
  A wrapper around `Translator.toClient(Object)` that first fires a "toclient" event on the component to see if it can perform the conversion.
  `void`
  `validate(Object value, ComponentResources componentResources, FieldValidator validator)`
  Performs validation on a parsed value from the client.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### FieldValidationSupportImpl

    public FieldValidationSupportImpl(TypeCoercer typeCoercer, PropertyAccess propertyAccess)

- ## Method Details

  - ### toClient

    public String toClient(Object value, ComponentResources componentResources, FieldTranslator<Object> translator, NullFieldStrategy nullFieldStrategy)
    Description copied from interface: `FieldValidationSupport`
    A wrapper around `Translator.toClient(Object)` that first fires a "toclient" event on the component to see if it can perform the conversion. If the value is null, then no event is fired and the translator is not invoked, the return value is simply null.
    Specified by:
      `toClient` in interface `FieldValidationSupport`
    Parameters:
      `value` - to be converted to a client-side string, which may be null
      `componentResources` - used to fire events on the component
      `translator` - used if the component does not provide a non-null value
      `nullFieldStrategy` - used to convert a null server side value to an appropriate client side value
    Returns:
      the translated value or null if the value is null
    See Also:
      - `Translator.toClient(Object)`

  - ### parseClient

    public Object parseClient(String clientValue, ComponentResources componentResources, FieldTranslator<Object> translator, NullFieldStrategy nullFieldStrategy) throws ValidationException
    Description copied from interface: `FieldValidationSupport`
    A wrapper around `Translator.parseClient(Field, String, String)`. First a "parseclient" event is fired; the translator is only invoked if that returns null (typically because there is no event handler method for the event).
    Specified by:
      `parseClient` in interface `FieldValidationSupport`
    Parameters:
      `clientValue` - the value provided by the client (not null)
      `componentResources` - used to trigger events
      `translator` - translator that will do the work if the component event returns null
      `nullFieldStrategy` - used to convert null/blank values from client into non-null server side values
    Returns:
      the input parsed to an object
    Throws:
      `ValidationException` - if the value can't be parsed
    See Also:
      - `Translator.parseClient(Field, String, String)`

  - ### validate

    public void validate(Object value, ComponentResources componentResources, FieldValidator validator) throws ValidationException
    Description copied from interface: `FieldValidationSupport`
    Performs validation on a parsed value from the client. Normal validations occur first, then a "validate" event is triggered on the component.
    Specified by:
      `validate` in interface `FieldValidationSupport`
    Parameters:
      `value` - parsed value from the client, possibly null
      `componentResources` - used to trigger events
      `validator` - performs normal validations
    Throws:
      `ValidationException` - if the value is not valid
    See Also:
      - `Validator.validate(Field, Object, org.apache.tapestry5.ioc.MessageFormatter, Object)`