package sparql; import sparql.fields.Literal; import sparql.fields.URI; import javat.xml.Element; import mediawiki.XMLRepresented; public abstract class Field<T> implements XMLRepresented { private T value; public Field(Element e) throws Exception{ convert(e); } public static Field parseField(Element e) throws Exception{ switch(e.getName()){ case "uri" : return new URI(e); case "literal" : return new Literal(e); } return null; } public T getValue() { return value; } public void setValue(T value) { this.value = value; } @Override public String toString() { return getClass().getName()+"["+getValue().toString()+"]"; } }