1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package net.sf.magicproject.database.data;
20
21 import java.util.Arrays;
22
23 import net.sf.magicproject.database.Proxy;
24 import net.sf.magicproject.database.propertyconfig.PropertyConfig;
25
26 import org.apache.commons.lang.StringUtils;
27
28 /***
29 * Represents a collection of data which is a name associated to a table of
30 * <code>String</code> objects. The <code>isTranslated()</code> method
31 * always returns <code>false</code>.
32 *
33 * @author <a href="mailto:fabdouglas@users.sourceforge.net">Fabrice Daugan </a>
34 * @since 0.90
35 */
36 public class CollectionData extends TranslatableData {
37 /***
38 * The translated values of this data. Equals to <code>null</code> until is
39 * translated.
40 */
41 protected String[] values;
42
43 /***
44 * Default public constructor.
45 *
46 * @param propertyConfig
47 * the property configuration of this data to use
48 * @param values
49 * the values of this data
50 */
51 public CollectionData(PropertyConfig propertyConfig, String... values) {
52 super(propertyConfig);
53 this.values = values;
54 }
55
56 @Override
57 public String getTranslatedValue(Proxy proxy) {
58 StringBuilder res = new StringBuilder(values.length * 20);
59 for (String value : values) {
60 if (res.length() == 0) {
61 res.append(", ");
62 }
63 res.append(value);
64 }
65 return res.toString();
66 }
67
68 @Override
69 public String getValue() {
70 return StringUtils.chomp(Arrays.toString(values).substring(1), "]");
71 }
72 }