1 package net.sf.quarrel.file;
2
3 import java.util.StringTokenizer;
4
5 public class ElementText {
6
7 private final String _text;
8 private final ElementType _type;
9
10 public ElementText(String text) {
11
12 final StringTokenizer tokenizer = new StringTokenizer(text, "\r\n");
13 final String s = tokenizer.nextToken();
14
15 _type = determineElementType(s);
16 _text = text;
17
18 }
19
20 public String getText() {
21 return _text;
22 }
23
24 public ElementType getElementType() {
25 return _type;
26 }
27
28 private ElementType determineElementType(final String text) {
29
30 final int i = text.indexOf(' ');
31 if (i == -1) {
32 throw new IllegalArgumentException("could not parse " + text);
33 }
34
35 final String typeString = text.substring(0, i);
36 final ElementType elementType = ElementType.getEnum(typeString);
37
38 if (elementType == null) {
39 throw new IllegalArgumentException(typeString + " is not a valid element type");
40 }
41
42 return elementType;
43
44 }
45
46 public String toString() {
47 return _text;
48 }
49
50 }