summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid A. Madore <david@procyon.(none)>2010-04-13 15:47:59 +0200
committerDavid A. Madore <david@procyon.(none)>2010-04-13 15:47:59 +0200
commit7d6eccbd43ba703306328e133c43e0760ceead8c (patch)
treee6b95aa757dfbb853f7f3777d3528313472cd46f
parente3b7a9c657a6a5f5a7a8f3c7ee4fdff1aee6410f (diff)
downloaddamlengine-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.java2
-rw-r--r--org/madore/damlengine/TodoAttr.java13
-rw-r--r--org/madore/damlengine/XemptyAttrHandler.java14
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 "));
+ }
+
+}