1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.layout;
21
22 import java.io.Serializable;
23 import java.util.ArrayList;
24 import java.util.Iterator;
25 import java.util.List;
26 import java.util.StringTokenizer;
27 import java.util.stream.Stream;
28
29 public class MeasureList implements Iterable<Measure>, Serializable {
30
31 private List<Measure> list = new ArrayList<>();
32
33 public MeasureList() {
34 }
35
36 @Override
37 public Iterator<Measure> iterator() {
38 return list.iterator();
39 }
40
41 public Stream<Measure> stream() {
42 return list.stream();
43 }
44
45 public static MeasureList parse(final String string) {
46 final MeasureList measureList = new MeasureList();
47 final StringTokenizer tokenizer = new StringTokenizer(string, "; ");
48
49 while (tokenizer.hasMoreTokens()) {
50 final Measure token = Measure.valueOf(tokenizer.nextToken().trim());
51 measureList.list.add(token);
52 }
53 return measureList;
54 }
55
56 public int getSize() {
57 return list.size();
58 }
59
60 public Measure get(final int i) {
61 return list.get(i);
62 }
63
64 public void add(final Measure measure) {
65 list.add(measure);
66 }
67
68 public String serialize() {
69 final StringBuilder str = new StringBuilder();
70 for (final Measure measure : list) {
71 str.append(measure);
72 str.append(" ");
73 }
74 return str.toString();
75 }
76
77 public String toString() {
78 return serialize();
79 }
80 }