diff options
author | David A. Madore <david@procyon.(none)> | 2010-04-13 15:47:59 +0200 |
---|---|---|
committer | David A. Madore <david@procyon.(none)> | 2010-04-13 15:47:59 +0200 |
commit | 7d6eccbd43ba703306328e133c43e0760ceead8c (patch) | |
tree | e6b95aa757dfbb853f7f3777d3528313472cd46f | |
parent | e3b7a9c657a6a5f5a7a8f3c7ee4fdff1aee6410f (diff) | |
download | damlengine-7d6eccbd43ba703306328e133c43e0760ceead8c.tar.gz damlengine-7d6eccbd43ba703306328e133c43e0760ceead8c.tar.bz2 damlengine-7d6eccbd43ba703306328e133c43e0760ceead8c.zip |
Handle d:xempty attribute, as proof of concept.
-rw-r--r-- | org/madore/damlengine/DamlEngine.java | 2 | ||||
-rw-r--r-- | org/madore/damlengine/TodoAttr.java | 13 | ||||
-rw-r--r-- | org/madore/damlengine/XemptyAttrHandler.java | 14 |
3 files changed, 22 insertions, 7 deletions
diff --git a/org/madore/damlengine/DamlEngine.java b/org/madore/damlengine/DamlEngine.java index 822b645..a2ce87e 100644 --- a/org/madore/damlengine/DamlEngine.java +++ b/org/madore/damlengine/DamlEngine.java @@ -13,7 +13,7 @@ public final class DamlEngine { public static final String DAML_NS = "http://www.madore.org/~david/NS/daml/"; - private static Document doc; + static Document doc; private DamlEngine() { } // Forbid instantiation diff --git a/org/madore/damlengine/TodoAttr.java b/org/madore/damlengine/TodoAttr.java index d4d877e..c4e554a 100644 --- a/org/madore/damlengine/TodoAttr.java +++ b/org/madore/damlengine/TodoAttr.java @@ -14,12 +14,13 @@ public class TodoAttr extends TodoItem { { Class[] handlerArgTypes = new Class[]{ TodoAttr.class }; damlHandlers = new HashMap<String,Method>(); - // try { - // ; - // } catch (NoSuchMethodException e) { - // // FIXME: this isn't good... - // throw new Error("this is impossible"); - // } + try { + damlHandlers.put("xempty", + XemptyAttrHandler.class.getMethod("handle", handlerArgTypes)); + } catch (NoSuchMethodException e) { + // FIXME: this isn't good... + throw new Error("this is impossible"); + } } Attr attr; diff --git a/org/madore/damlengine/XemptyAttrHandler.java b/org/madore/damlengine/XemptyAttrHandler.java new file mode 100644 index 0000000..3120d26 --- /dev/null +++ b/org/madore/damlengine/XemptyAttrHandler.java @@ -0,0 +1,14 @@ +package org.madore.damlengine; + +import org.w3c.dom.*; + +public class XemptyAttrHandler { + + private XemptyAttrHandler() { } + + public static void handle(TodoAttr that) { + that.owner.removeAttribute(that.attr.getName()); + that.owner.appendChild(DamlEngine.doc.createComment(" EMPTY ")); + } + +} |