org.apache.tapestry5.services
Interface TranslatorSource

All Known Implementing Classes:
TranslatorSourceImpl

@UsesMappedConfiguration(key=java.lang.Class.class,
                         value=Translator.class)
public interface TranslatorSource

A source for Translators, either by name or by property type. The source knows about two sets of translators: the standard translators contributed directly to the service and the alternate translators, contributed to the TranslatorAlternatesSource service.

Each contributed translator must have a unique name.

Generally, Translators are matched by type (i.e., the type matching a particular property that will be read or updated). Contributions to this service use a StrategyRegistry to match by type. Translators can also be selected by name. The TranslatorAlternatesSource service configuration is often used for this purpose.

The contribution key must match the translator type.


Method Summary
 Translator findByType(Class valueType)
          Finds a Translator that is appropriate to the given type, which is usually obtained via Binding.getBindingType().
 Translator get(String name)
          Returns the translator with the given name (either a standard translator, or an alternate).
 Translator getByType(Class valueType)
          Finds a Translator that is appropriate to the given type, which is usually obtained via Binding.getBindingType().
 

Method Detail

get

Translator get(String name)
Returns the translator with the given name (either a standard translator, or an alternate).

Parameters:
name - name of translator (as configured, but case is ignored)
Returns:
the shared translator instance
Throws:
RuntimeException - if no translator is configured for the provided name

findByType

Translator findByType(Class valueType)
Finds a Translator that is appropriate to the given type, which is usually obtained via Binding.getBindingType(). Performs an inheritance-based search for the best match, among the standard translator (not alternates).

Parameters:
valueType - the type of value for which a default translator is needed
Returns:
the matching translator, or null if no match can be found

getByType

Translator getByType(Class valueType)
Finds a Translator that is appropriate to the given type, which is usually obtained via Binding.getBindingType(). Performs an inheritance-based search for the best match, among the standard translators (not alternates).

Parameters:
valueType - the type of value for which a default translator is needed
Returns:
the matching translator
Throws:
IllegalArgumentException - if no standard validator matches the provided type


Copyright © 2003-2012 The Apache Software Foundation.