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=HEAD;hp=bcc7c959b4d2ba78b653f2420ad2bc2cf485ceac;hpb=dd3b2c7ecd5f4b60734f2602b16637aa8be2a263;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 bcc7c95..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,7 @@ 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; import javax.xml.stream.XMLStreamWriter; @@ -12,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; @@ -43,9 +41,9 @@ public class ValueElementWriter implements XMLElementWriter{ } @Override - public List children(ReadGraph graph, WriterElement instance, XMLStreamWriter writer) + public void children(ReadGraph graph, WriterElement instance, Set sorted) throws XMLStreamException, DatabaseException { - return Collections.EMPTY_LIST; + } @Override @@ -60,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)); } }