Interface Translator<T>

Type Parameters:
T - the type being translated
All Known Implementing Classes:
AbstractTranslator, NumericTranslator, StringTranslator

public interface Translator<T>
Translates between client-side and server-side values. Client-side values are always strings.
See Also:
  • Method Details

    • getName

      Returns a unique name for the translator. This is used to identify the translator by name, but is also used when locating override messages for the translator.
      Returns:
      unique name for the translator
    • toClient

      String toClient(T value)
      Converts a server-side value to a client-side string. This allows for formatting of the value in a way appropriate to the end user. The output client value should be parsable by parseClient(Field, String, String).
      Parameters:
      value - the server side value (which will not be null)
      Returns:
      client-side value to present to the user
    • getType

      Returns the type of the server-side value.
      Returns:
      a type
    • getMessageKey

      Returns the message key, within the application's global message catalog, normally used by this validator. This is used to provide the formatted message to parseClient(Field, String, String) or render(Field, String, MarkupWriter, org.apache.tapestry5.services.FormSupport).
      Returns:
      a message key
    • parseClient

      T parseClient(Field field, String clientValue, String message) throws ValidationException
      Converts a submitted request value into an appropriate server side value.
      Parameters:
      field - for which a value is being parsed
      clientValue - to convert to a server value; this will not be null, but may be blank
      message - formatted validation message, either from validation messages, or from an override
      Returns:
      equivalent server-side value (possibly null)
      Throws:
      ValidationException - if the value can not be parsed
    • render

      void render(Field field, String message, MarkupWriter writer, FormSupport formSupport)
      Hook used by components to allow the validator to contribute additional attributes or (more often) client-side JavaScript (via the FormSupport.addValidation(Field, String, String, Object)).
      Parameters:
      field - the field which is currently being rendered
      message - formatted validation message, either from validation messages, or from an override
      writer - markup writer, allowing additional attributes to be written into the active element
      formSupport - used to add JavaScript