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.util.StringTokenizer;
23
24
25
26
27
28 public class GridSpan {
29
30 private Integer start;
31 private Integer span;
32
33 private GridSpan() {
34 }
35
36 public static GridSpan valueOf(final String string) {
37 final GridSpan item = new GridSpan();
38 final StringTokenizer tokenizer = new StringTokenizer(string, " /");
39 if (tokenizer.hasMoreElements()) {
40 item.start = Integer.parseInt(tokenizer.nextToken());
41 }
42 if (tokenizer.hasMoreElements()) {
43 final String next = tokenizer.nextToken();
44 if (next.equals("span")) {
45 item.span = Integer.parseInt(tokenizer.nextToken());
46 } else {
47 item.span = Integer.parseInt(next) - item.start;
48 }
49 }
50 return item;
51 }
52
53 public static GridSpan valueOf(final Integer start, final Integer span) {
54 final GridSpan item = new GridSpan();
55 item.start = start;
56 item.span = span;
57 return item;
58 }
59
60 public String encode() {
61 if (start != null) {
62 if (span != null && span != 1) {
63 return start + "/span " + span;
64 } else {
65 return start.toString();
66 }
67 } else {
68 if (span != null && span != 1) {
69 return "auto/span " + span;
70 } else {
71 return "auto";
72 }
73 }
74 }
75
76 public Integer getStart() {
77 return start;
78 }
79
80 public Integer getSpan() {
81 return span;
82 }
83 }