1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.commons.settings;
21
22 import java.util.StringTokenizer;
23
24 /***
25 * Provides a setting for <code>Font</code> objects.
26 */
27 public class IntArraySetting extends AbstractSetting<Integer[]> {
28
29 public IntArraySetting(SettingResource backend, String key, Integer[] defaultValue, Validator validator)
30 {
31 super(backend, key, defaultValue, validator);
32 }
33
34 public IntArraySetting(SettingResource backend, String key, Integer[] defaultValue)
35 {
36 super(backend, key, defaultValue, null);
37 }
38
39 protected Integer[] fromString(String value)
40 {
41 StringTokenizer t = new StringTokenizer(value, ARRAY_SEPARATOR);
42
43 try {
44 Integer[] values = new Integer[t.countTokens()];
45 for (int i = 0; i < values.length; i++) {
46 values[i] = new Integer(t.nextToken());
47 }
48 return values;
49 }
50 catch (NumberFormatException e) {
51 return null;
52 }
53 }
54
55 protected String toString(Integer[] value)
56 {
57 StringBuilder sb = new StringBuilder();
58 for (int i = 0; i < value.length; i++) {
59 sb.append(value[i]);
60 sb.append(ARRAY_SEPARATOR);
61 }
62 return sb.toString();
63 }
64
65 }