org.apache.tapestry5.ioc.services
Interface TypeCoercer

All Known Implementing Classes:
TypeCoercerImpl

public interface TypeCoercer

Makes use of Coercions (via CoercionTuples) to convert between an input value (of some specific type) and a desired output type. Smart about coercing, even if it requires multiple coercing steps (i.e., via an intermediate type, such as String).


Method Summary
 void clearCache()
          Clears cached information stored by the TypeCoercer.
<S,T> T
coerce(S input, Class<T> targetType)
          Performs a coercion from an input type to a desired output type.
<S,T> String
explain(Class<S> inputType, Class<T> targetType)
          Used primarily inside test suites, this method performs the same steps as coerce(Object, Class), but returns a string describing the series of coercision, such as "Object --> String --> Long --> Integer".
 

Method Detail

coerce

<S,T> T coerce(S input,
               Class<T> targetType)
Performs a coercion from an input type to a desired output type. When the target type is a primitive, the actual conversion will be to the equivalent wrapper type. In some cases, the TypeCoercer will need to search for an appropriate coercion, and may even combine existing coercions to form new ones; in those cases, the results of the search are cached.

The TypeCoercer also caches the results of a coercion search.

Type Parameters:
S - source type (input)
T - target type (output)
Parameters:
input -
targetType - defines the target type
Returns:
the coerced value

explain

<S,T> String explain(Class<S> inputType,
                     Class<T> targetType)
Used primarily inside test suites, this method performs the same steps as coerce(Object, Class), but returns a string describing the series of coercision, such as "Object --> String --> Long --> Integer".

Type Parameters:
S - source type (input)
T - target type (output)
Parameters:
inputType - the source coercion type (use void.class for coercions from null)
targetType - defines the target type
Returns:
a string identifying the series of coercions, or the empty string if no coercion is necessary

clearCache

void clearCache()
Clears cached information stored by the TypeCoercer.



Copyright © 2006-2008 Apache Software Foundation. All Rights Reserved.