package org.simantics.xml.sax.base;\r
\r
import java.util.Collection;\r
-import java.util.Collections;\r
-import java.util.List;\r
import java.util.Set;\r
\r
import javax.xml.stream.XMLStreamException;\r
import org.simantics.db.Resource;\r
import org.simantics.db.Statement;\r
import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.layer0.Layer0;\r
\r
-public class ValueElementWriter implements XMLElementWriter{\r
+public abstract class ValueElementWriter implements XMLElementWriter{\r
\r
String name;\r
Binding binding;\r
\r
}\r
\r
+ public abstract String decode(Object value);\r
+ \r
@Override\r
public void characters(ReadGraph graph, WriterElement instance, XMLStreamWriter writer)\r
throws XMLStreamException, DatabaseException {\r
- Layer0 l0 = Layer0.getInstance(graph);\r
Object value = graph.getValue(instance.getResource(), binding);\r
- writer.writeCharacters(value.toString());\r
-// if (binding == Bindings.STRING) {\r
-// graph.claim(element.getData(), l0.InstanceOf, l0.String);\r
-// graph.claimValue(element.getData(), string, binding);\r
-// } else if (binding == Bindings.INTEGER) {\r
-// graph.claim(element.getData(), l0.InstanceOf, l0.Integer);\r
-// graph.claimValue(element.getData(), Integer.parseInt(string), binding);\r
-// } else if (binding == Bindings.FLOAT) {\r
-// graph.claim(element.getData(), l0.InstanceOf, l0.Float);\r
-// graph.claimValue(element.getData(), Float.parseFloat(string), binding);\r
-// } else if (binding == Bindings.DOUBLE) {\r
-// graph.claim(element.getData(), l0.InstanceOf, l0.Double);\r
-// graph.claimValue(element.getData(), Double.parseDouble(string), binding);\r
-// } else if (binding == Bindings.BOOLEAN) {\r
-// graph.claim(element.getData(), l0.InstanceOf, l0.Boolean);\r
-// graph.claimValue(element.getData(), Boolean.parseBoolean(string), binding);\r
-// } else if (binding == Bindings.LONG) {\r
-// graph.claim(element.getData(), l0.InstanceOf, l0.Long);\r
-// graph.claimValue(element.getData(), Long.parseLong(string), binding);\r
-// } else if (binding == Bindings.BYTE) {\r
-// graph.claim(element.getData(), l0.InstanceOf, l0.Byte);\r
-// graph.claimValue(element.getData(), Byte.parseByte(string), binding);\r
-// } else {\r
-// throw new DatabaseException("Unknown datatype " + binding);\r
-// }\r
+ writer.writeCharacters(decode(value));\r
}\r
\r
}\r