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 }