1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.commons.jelly.tags.swing.converters;
17
18 import java.awt.Dimension;
19 import java.util.StringTokenizer;
20
21 import org.apache.commons.beanutils.Converter;
22
23 /***
24 * A Converter that turns Strings in the form "width, height" into Dimension objects
25 *
26 * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
27 * @version $Revision: 155420 $
28 */
29 public class DimensionConverter implements Converter {
30
31 public Object convert(Class type, Object value) {
32 if ( value != null ) {
33 String text = value.toString();
34 StringTokenizer dimensionEnum = new StringTokenizer( text, "," );
35 int width = 0;
36 int height = 0;
37 if ( dimensionEnum.hasMoreTokens() ) {
38 width = parseNumber( dimensionEnum.nextToken() );
39 }
40 if ( dimensionEnum.hasMoreTokens() ) {
41 height = parseNumber( dimensionEnum.nextToken() );
42 }
43
44
45 return new Dimension( width, height );
46 }
47 return null;
48 }
49
50 protected int parseNumber(String text) {
51 text = text.trim();
52 return Integer.parseInt(text);
53 }
54
55 }