| Prev Class | Next Class | Frames | No Frames |
| Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Objectorg.apache.commons.beanutils.ConvertUtilsBeanpublic class ConvertUtilsBeanextends java.lang.ObjectConverter 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:
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 org.apache.commons.beanutils.converter.IntegerConverter();
ConvertUtils.register(myConverter, Integer.TYPE); // Native type
ConvertUtils.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.
Field Summary | |
private static Character | |
private static Integer | |
private Map |
|
private Boolean |
|
private Byte |
|
private Character |
|
private Double |
|
private Float |
|
private Integer |
|
private Long |
|
private static Short |
|
private Log |
|
Constructor Summary | |
| |
Method Summary | |
String |
|
Object |
|
Object |
|
Object |
|
void |
|
void |
|
boolean |
|
byte |
|
char |
|
double |
|
float |
|
int |
|
long |
|
short |
|
protected static ConvertUtilsBean |
|
Converter | |
Converter | |
private void | |
void |
|
void | |
private void |
|
private void |
|
private void |
|
private void |
|
private void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
private static final Character SPACE
private static final Integer ZERO
private Map converters
The set ofConverters that can be used to convert Strings into objects of a specified Class, keyed by the destination Class.
private Boolean defaultBoolean
Deprecated. Register replacement converters for Boolean.TYPE and Boolean.class instead
The default value for Boolean conversions.
private Byte defaultByte
Deprecated. Register replacement converters for Byte.TYPE and Byte.class instead
The default value for Byte conversions.
private Character defaultCharacter
Deprecated. Register replacement converters for Character.TYPE and Character.class instead
The default value for Character conversions.
private Double defaultDouble
Deprecated. Register replacement converters for Double.TYPE and Double.class instead
The default value for Double conversions.
private Float defaultFloat
Deprecated. Register replacement converters for Float.TYPE and Float.class instead
The default value for Float conversions.
private Integer defaultInteger
Deprecated. Register replacement converters for Integer.TYPE and Integer.class instead
The default value for Integer conversions.
private Long defaultLong
Deprecated. Register replacement converters for Long.TYPE and Long.class instead
The default value for Long conversions.
private static Short defaultShort
Deprecated. Register replacement converters for Short.TYPE and Short.class instead
The default value for Short conversions.
private Log log
TheLoginstance for this class.
public String convert(Object value)
Convert the specified value into a String. If the specified value is an array, the first element (converted to a String) will be returned. The registeredConverterfor thejava.lang.Stringclass will be used, which allows applications to customize Object->String conversions (the default implementation simply uses toString()).
- Parameters:
value- Value to be converted (may be null)
- Returns:
- The converted String value
public Object convert(Object value,
Class targetType)Convert the value to an object of the specified class (if possible).
- Parameters:
value- Value to be converted (may be null)targetType- Class of the value to be converted to
- Returns:
- The converted value
public Object convert(String value,
Class clazz)Convert the specified value to an object of the specified class (if possible). Otherwise, return a String representation of the value.
- Parameters:
value- Value to be converted (may be null)clazz- Java class to be converted to
- Returns:
- The converted value
public Object convert(String[] values,
Class clazz)Convert an array of specified values to an array of objects of the specified class (if possible). If the specified Java class is itself an array class, this class will be the type of the returned value. Otherwise, an array will be constructed whose component type is the specified class.
- Parameters:
values- Array of values to be convertedclazz- Java array or element class to be converted to
- Returns:
- The converted value
public void deregister()
Remove all registeredConverters, and re-establish the standard Converters.
public void deregister(Class clazz)
Remove any registeredConverterfor the specified destinationClass.
- Parameters:
clazz- Class for which to remove a registered Converter
public boolean getDefaultBoolean()
Deprecated. Register replacement converters for Boolean.TYPE and Boolean.class instead
Gets the default value for Boolean conversions.
- Returns:
- The default Boolean value
public byte getDefaultByte()
Deprecated. Register replacement converters for Byte.TYPE and Byte.class instead
Gets the default value for Byte conversions.
- Returns:
- The default Byte value
public char getDefaultCharacter()
Deprecated. Register replacement converters for Character.TYPE and Character.class instead
Gets the default value for Character conversions.
- Returns:
- The default Character value
public double getDefaultDouble()
Deprecated. Register replacement converters for Double.TYPE and Double.class instead
Gets the default value for Double conversions.
- Returns:
- The default Double value
public float getDefaultFloat()
Deprecated. Register replacement converters for Float.TYPE and Float.class instead
Gets the default value for Float conversions.
- Returns:
- The default Float value
public int getDefaultInteger()
Deprecated. Register replacement converters for Integer.TYPE and Integer.class instead
Gets the default value for Integer conversions.
- Returns:
- The default Integer value
public long getDefaultLong()
Deprecated. Register replacement converters for Long.TYPE and Long.class instead
Gets the default value for Long conversions.
- Returns:
- The default Long value
public short getDefaultShort()
Deprecated. Register replacement converters for Short.TYPE and Short.class instead
Gets the default value for Short conversions.
- Returns:
- The default Short value
protected static ConvertUtilsBean getInstance()
Get singleton instance
- Returns:
- The singleton instance
public Converter lookup(Class clazz)
Look up and return any registeredConverterfor the specified destination class; if there is no registered Converter, returnnull.
- Parameters:
clazz- Class for which to return a registered Converter
- Returns:
- The registered
Converterornullif not found
public Converter lookup(Class sourceType, Class targetType)
Look up and return any registeredConverterfor the specified source and destination class; if there is no registered Converter, returnnull.
- Parameters:
sourceType- Class of the value being convertedtargetType- Class of the value to be converted to
- Returns:
- The registered
Converterornullif not found
private void register(Class clazz,
Converter converter)strictly for convenience since it has same parameter order as Map.put
public void register(boolean throwException,
boolean defaultNull,
int defaultArraySize)Register the provided converters with the specified defaults.
- Parameters:
throwException-trueif the converters should throw an exception when a conversion error occurs, otherwisefalseif a default value should be used.defaultNull-trueif the standard converters (seeregisterStandard(boolean,boolean)) should use a default value ofnull, otherwisefalse. N.B. This values is ignored ifthrowExceptionistruedefaultArraySize- The size of the default array value for array converters (N.B. This values is ignored ifthrowExceptionistrue). Specifying a value less than zero causes anullvalue to be used for the default.
public void register(Converter converter, Class clazz)
Register a customConverterfor the specified destinationClass, replacing any previously registered Converter.
- Parameters:
converter- Converter to be registeredclazz- Destination class for conversions performed by this Converter
private void registerArrayConverter(Class componentType,
Converter componentConverter,
boolean throwException,
int defaultArraySize)Register a new ArrayConverter with the specified element delegate converter that returns a default array of the specified size in the event of conversion errors.
- Parameters:
componentType- The component type of the arraycomponentConverter- The converter to delegate to for the array elementsthrowException- Whether a conversion exception should be thrown or a default value used in the event of a conversion errordefaultArraySize- The size of the default array
private void registerArrays(boolean throwException,
int defaultArraySize)Register array converters.
- Parameters:
throwException-trueif the converters should throw an exception when a conversion error occurs, otherwisefalseif a default value should be used.defaultArraySize- The size of the default array value for array converters (N.B. This values is ignored ifthrowExceptionistrue). Specifying a value less than zero causes anullvalue to be used for the default.
private void registerOther(boolean throwException)
Register the converters for other types. This method registers the following converters:
Class.class-ClassConverterjava.util.Date.class-DateConverterjava.util.Calendar.class-CalendarConverterFile.class-FileConverterjava.sql.Date.class-SqlDateConverterjava.sql.Time.class-SqlTimeConverterjava.sql.Timestamp.class-SqlTimestampConverterURL.class-URLConverter
- Parameters:
throwException-trueif the converters should throw an exception when a conversion error occurs, otherwisefalseif a default value should be used.
private void registerPrimitives(boolean throwException)
Register the converters for primitive types. This method registers the following converters:
Boolean.TYPE-BooleanConverterByte.TYPE-ByteConverterCharacter.TYPE-CharacterConverterDouble.TYPE-DoubleConverterFloat.TYPE-FloatConverterInteger.TYPE-IntegerConverterLong.TYPE-LongConverterShort.TYPE-ShortConverter
- Parameters:
throwException-trueif the converters should throw an exception when a conversion error occurs, otherwisefalseif a default value should be used.
private void registerStandard(boolean throwException,
boolean defaultNull)Register the converters for standard types. This method registers the following converters:
BigDecimal.class-BigDecimalConverterBigInteger.class-BigIntegerConverterBoolean.class-BooleanConverterByte.class-ByteConverterCharacter.class-CharacterConverterDouble.class-DoubleConverterFloat.class-FloatConverterInteger.class-IntegerConverterLong.class-LongConverterShort.class-ShortConverterString.class-StringConverter
- Parameters:
throwException-trueif the converters should throw an exception when a conversion error occurs, otherwisefalseif a default value should be used.defaultNull-trueif the standard converters (seeregisterStandard(boolean,boolean)) should use a default value ofnull, otherwisefalse. N.B. This values is ignored ifthrowExceptionistrue
public void setDefaultBoolean(boolean newDefaultBoolean)
Deprecated. Register replacement converters for Boolean.TYPE and Boolean.class instead
Sets the default value for Boolean conversions.
- Parameters:
newDefaultBoolean- The default Boolean value
public void setDefaultByte(byte newDefaultByte)
Deprecated. Register replacement converters for Byte.TYPE and Byte.class instead
Sets the default value for Byte conversions.
- Parameters:
newDefaultByte- The default Byte value
public void setDefaultCharacter(char newDefaultCharacter)
Deprecated. Register replacement converters for Character.TYPE and Character.class instead
Sets the default value for Character conversions.
- Parameters:
newDefaultCharacter- The default Character value
public void setDefaultDouble(double newDefaultDouble)
Deprecated. Register replacement converters for Double.TYPE and Double.class instead
Sets the default value for Double conversions.
- Parameters:
newDefaultDouble- The default Double value
public void setDefaultFloat(float newDefaultFloat)
Deprecated. Register replacement converters for Float.TYPE and Float.class instead
Sets the default value for Float conversions.
- Parameters:
newDefaultFloat- The default Float value
public void setDefaultInteger(int newDefaultInteger)
Deprecated. Register replacement converters for Integer.TYPE and Integer.class instead
Sets the default value for Integer conversions.
- Parameters:
newDefaultInteger- The default Integer value
public void setDefaultLong(long newDefaultLong)
Deprecated. Register replacement converters for Long.TYPE and Long.class instead
Sets the default value for Long conversions.
- Parameters:
newDefaultLong- The default Long value
public void setDefaultShort(short newDefaultShort)
Deprecated. Register replacement converters for Short.TYPE and Short.class instead
Sets the default value for Short conversions.
- Parameters:
newDefaultShort- The default Short value