A base class for converting arbitrary types to and from Strings, as well as
a registry of ResourceConverter implementations.
The supportsType method defines what types a ResourceConverter supports.
By default it returns true for classes that are equal to the constructor's
type argument. The parseType methods converts a string
the ResourceConverter's supported type, and the toString does the
inverse, it converts a supported type to a String. Concrete ResourceConverter
subclasses must override parseType() and, in most cases, the
toString method as well.
This class maintains a registry of ResourceConverters.
The forType method returns the first ResourceConverter that
supports a particular type, new ResourceConverters can be added with
register(). A small set of generic ResourceConverters are
registered by default. They support the following types:
- Boolean
- Integer
- Float
- Double
- Long
- Short
- Byte
- MessageFormat
- URL
- URI
The Boolean ResourceConverter returns true for "true", "on", "yes",
false otherwise. The other primitive type ResourceConverters rely on
the corresponding static parseType method,
e.g. Integer.parseInt(). The MessageFormat
ResourceConverter just creates MessageFormat object with the string
as its constructor argument. The URL/URI converters just apply
the corresponding constructor to the resource string.