public class ConverterBean extends Object
Utility methods for converting String scalar values to objects of the
specified Class, String arrays to arrays of the specified Class. The
actual Converter instance to be used can be registered for each
possible destination Class. Unless you override them, standard
Converter instances are provided for all of the following
destination Classes:
For backwards compatibility, the standard Converters for primitive
types (and the corresponding wrapper classes) return a defined
default value when a conversion error occurs. If you prefer to have a
ConversionException thrown instead, replace the standard Converter
instances with instances created with the zero-arguments constructor. For
example, to cause the Converters for integers to throw an exception on
conversion errors, you could do this:
// No-args constructor gets the version that throws exceptions Converter myConverter = new net.hasor.utils.convert.convert.IntegerConverter(); ConverterUtils.register(myConverter, Integer.TYPE); // Native type ConverterUtils.register(myConverter, Integer.class); // Wrapper class
Converters generally treat null input as if it were invalid input, ie they return their default value if one was specified when the converter was constructed, and throw an exception otherwise. If you prefer nulls to be preserved for converters that are converting to objects (not primitives) then register a converter as above, passing a default value of null to the converter constructor (and of course registering that converter only for the .class target).
When a converter is listed above as having no default value, then that converter will throw an exception when passed null or an invalid value as its input. In particular, by default the BigInteger and BigDecimal converters have no default (and are therefore somewhat inconsistent with the other numerical converters which all have zero as their default).
Converters that generate arrays of each of the primitive types are also automatically configured (including String[]). When passed null or invalid input, these return an empty array (not null). See class AbstractArrayConverter for the supported input formats for these converters.
| 构造器和说明 |
|---|
ConverterBean()
Construct a bean with standard converters registered
|
| 限定符和类型 | 方法和说明 |
|---|---|
String |
convert(Object value)
Convert the specified value into a String.
|
Object |
convert(String[] values,
Class<?> clazz)
Convert an array of specified values to an array of objects of the
specified class (if possible).
|
Object |
convert(String value,
Class<?> clazz)
Convert the specified value to an object of the specified class (if
possible).
|
<T> T |
convert(T value,
Class<? extends T> targetType)
Convert the value to an object of the specified class (if
possible).
|
void |
deregister()
Remove all registered
Converters, and re-establish the
standard Converters. |
void |
deregister(Class<?> clazz)
Remove any registered
Converter for the specified destination
Class. |
static ConverterBean |
getInstance()
Get singleton instance
|
Converter |
lookup(Class<?> clazz)
Look up and return any registered
Converter for the specified
destination class; if there is no registered Converter, return
null. |
Converter |
lookup(Class<?> sourceType,
Class<?> targetType)
Look up and return any registered
Converter for the specified
source and destination class; if there is no registered Converter,
return null. |
void |
register(boolean throwException,
boolean defaultNull,
int defaultArraySize)
Register the provided converters with the specified defaults.
|
void |
register(Converter converter,
Class<?> clazz)
Register a custom
Converter for the specified destination
Class, replacing any previously registered Converter. |
public static ConverterBean getInstance()
public String convert(Object value)
Converter for the
java.lang.String class will be used, which allows
applications to customize Object->String conversions (the default
implementation simply uses toString()).value - Value to be converted (may be null)public Object convert(String value, Class<?> clazz)
value - Value to be converted (may be null)clazz - Java class to be converted toConversionException - if thrown by an underlying Converterpublic Object convert(String[] values, Class<?> clazz)
values - Array of values to be convertedclazz - Java array or element class to be converted toConversionException - if thrown by an underlying Converterpublic <T> T convert(T value,
Class<? extends T> targetType)
Convert the value to an object of the specified class (if possible).
value - Value to be converted (may be null)targetType - Class of the value to be converted toConversionException - if thrown by an underlying Converterpublic void deregister()
Converters, and re-establish the
standard Converters.public void register(boolean throwException,
boolean defaultNull,
int defaultArraySize)
throwException - true if the converters should
throw an exception when a conversion error occurs, otherwise
false if a default value should be used.defaultNull - trueif the standard converters
(see registerStandard(boolean, boolean))
should use a default value of null, otherwise false.
N.B. This values is ignored if throwException is truedefaultArraySize - The size of the default array value for array converters
(N.B. This values is ignored if throwException is true).
Specifying a value less than zero causes a null value to be used for
the default.public void deregister(Class<?> clazz)
Converter for the specified destination
Class.clazz - Class for which to remove a registered Converterpublic Converter lookup(Class<?> clazz)
Converter for the specified
destination class; if there is no registered Converter, return
null.clazz - Class for which to return a registered ConverterConverter or null if not foundpublic Converter lookup(Class<?> sourceType, Class<?> targetType)
Converter for the specified
source and destination class; if there is no registered Converter,
return null.sourceType - Class of the value being convertedtargetType - Class of the value to be converted toConverter or null if not foundCopyright © 2021–2022. All rights reserved.