1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.beanutils;
18
19 /***
20 * <p>{@link BeanUtilsBean} implementation that creates a
21 * {@link ConvertUtilsBean2} and delegates conversion to
22 * {@link ConvertUtilsBean#convert(Object, Class)}.
23 * </p>
24 *
25 * <p>
26 * To configure this implementation for the current context ClassLoader invoke
27 * <code>BeanUtilsBean.setInstance(new BeanUtilsBean2());</code>
28 * </p>
29 *
30 * <p>
31 * BeanUtils 1.7.0 delegated all conversion to String to the converter
32 * registered for the <code>String.class</code>. One of the improvements in
33 * BeanUtils 1.8.0 was to upgrade the {@link Converter} implementations so
34 * that they could handle conversion to String for their type (e.g.
35 * IntegerConverter now handles conversion from an Integer to a String as
36 * well as String to Integer).
37 * </p>
38 *
39 * <p>
40 * In order to take advantage of these improvements BeanUtils needs to change
41 * how it gets the appropriate {@link Converter}. This functionality has been
42 * implemented in the new {@link ConvertUtilsBean#lookup(Class, Class)} and
43 * {@link ConvertUtilsBean#convert(Object, Class)} methods. However changing
44 * {@link BeanUtilsBean} to use these methods could create compatibility
45 * issues for existing users. In order to avoid that, this new
46 * {@link BeanUtilsBean} implementation has been created (and the associated
47 * {@link ConvertUtilsBean2}).
48 * </p>
49 *
50 * @see ConvertUtilsBean2
51 * @version $Revision: 552381 $ $Date: 2007-07-02 03:00:17 +0100 (Mon, 02 Jul 2007) $
52 * @since 1.8.0
53 */
54 public class BeanUtilsBean2 extends BeanUtilsBean {
55
56 /***
57 * <p>Constructs an instance using new property
58 * and conversion instances.</p>
59 */
60 public BeanUtilsBean2() {
61 super(new ConvertUtilsBean2());
62 }
63
64 /***
65 * <p>Convert the value to an object of the specified class (if
66 * possible).</p>
67 *
68 * @param value Value to be converted (may be null)
69 * @param type Class of the value to be converted to
70 * @return The converted value
71 */
72 protected Object convert(Object value, Class type) {
73 return getConvertUtils().convert(value, type);
74 }
75 }