X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.xml.sax.base%2Fsrc%2Forg%2Fsimantics%2Fxml%2Fsax%2Fbase%2FValueElementWriter.java;h=3035ae81c27f0888395710a7b3a8a49a2144b8fe;hb=c8ead11dcd815dc26885b2b8e866e4ac4e563ae5;hp=42aa3c16a3af32f4178dec1dfebdf561b0de372e;hpb=28cdb08c2dcc6b306d8a0cbea8c0bd791e42d583;p=simantics%2Finterop.git diff --git a/org.simantics.xml.sax.base/src/org/simantics/xml/sax/base/ValueElementWriter.java b/org.simantics.xml.sax.base/src/org/simantics/xml/sax/base/ValueElementWriter.java index 42aa3c1..3035ae8 100644 --- a/org.simantics.xml.sax.base/src/org/simantics/xml/sax/base/ValueElementWriter.java +++ b/org.simantics.xml.sax.base/src/org/simantics/xml/sax/base/ValueElementWriter.java @@ -1,8 +1,6 @@ package org.simantics.xml.sax.base; import java.util.Collection; -import java.util.Collections; -import java.util.List; import java.util.Set; import javax.xml.stream.XMLStreamException; @@ -13,9 +11,8 @@ import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.Statement; import org.simantics.db.exception.DatabaseException; -import org.simantics.layer0.Layer0; -public class ValueElementWriter implements XMLElementWriter{ +public abstract class ValueElementWriter implements XMLElementWriter{ String name; Binding binding; @@ -61,36 +58,13 @@ public class ValueElementWriter implements XMLElementWriter{ } + public abstract String decode(Object value); + @Override public void characters(ReadGraph graph, WriterElement instance, XMLStreamWriter writer) throws XMLStreamException, DatabaseException { - Layer0 l0 = Layer0.getInstance(graph); Object value = graph.getValue(instance.getResource(), binding); - writer.writeCharacters(value.toString()); -// if (binding == Bindings.STRING) { -// graph.claim(element.getData(), l0.InstanceOf, l0.String); -// graph.claimValue(element.getData(), string, binding); -// } else if (binding == Bindings.INTEGER) { -// graph.claim(element.getData(), l0.InstanceOf, l0.Integer); -// graph.claimValue(element.getData(), Integer.parseInt(string), binding); -// } else if (binding == Bindings.FLOAT) { -// graph.claim(element.getData(), l0.InstanceOf, l0.Float); -// graph.claimValue(element.getData(), Float.parseFloat(string), binding); -// } else if (binding == Bindings.DOUBLE) { -// graph.claim(element.getData(), l0.InstanceOf, l0.Double); -// graph.claimValue(element.getData(), Double.parseDouble(string), binding); -// } else if (binding == Bindings.BOOLEAN) { -// graph.claim(element.getData(), l0.InstanceOf, l0.Boolean); -// graph.claimValue(element.getData(), Boolean.parseBoolean(string), binding); -// } else if (binding == Bindings.LONG) { -// graph.claim(element.getData(), l0.InstanceOf, l0.Long); -// graph.claimValue(element.getData(), Long.parseLong(string), binding); -// } else if (binding == Bindings.BYTE) { -// graph.claim(element.getData(), l0.InstanceOf, l0.Byte); -// graph.claimValue(element.getData(), Byte.parseByte(string), binding); -// } else { -// throw new DatabaseException("Unknown datatype " + binding); -// } + writer.writeCharacters(decode(value)); } }