summaryrefslogtreecommitdiffstats
path: root/org/madore/damlengine/TodoFooter.java
diff options
context:
space:
mode:
authorDavid A. Madore <david+git@madore.org>2010-10-09 22:06:05 +0200
committerDavid A. Madore <david+git@madore.org>2010-10-09 22:06:05 +0200
commitf58d15f93fe1f9dda09d7b564a49d9fd4c53a08d (patch)
treef1985a816352c7fdbc8947e4e6c0e95896dded13 /org/madore/damlengine/TodoFooter.java
parentb39ca81f1300ad9e59839a9a52e9a6081dd4a517 (diff)
downloaddamlengine-f58d15f93fe1f9dda09d7b564a49d9fd4c53a08d.tar.gz
damlengine-f58d15f93fe1f9dda09d7b564a49d9fd4c53a08d.tar.bz2
damlengine-f58d15f93fe1f9dda09d7b564a49d9fd4c53a08d.zip
Footer handler.
Diffstat (limited to 'org/madore/damlengine/TodoFooter.java')
-rw-r--r--org/madore/damlengine/TodoFooter.java51
1 files changed, 51 insertions, 0 deletions
diff --git a/org/madore/damlengine/TodoFooter.java b/org/madore/damlengine/TodoFooter.java
new file mode 100644
index 0000000..8c45eeb
--- /dev/null
+++ b/org/madore/damlengine/TodoFooter.java
@@ -0,0 +1,51 @@
+package org.madore.damlengine;
+
+import java.util.ArrayList;
+import java.util.regex.Pattern;
+import org.w3c.dom.*;
+
+public final class TodoFooter extends TodoElement {
+
+ public TodoFooter(Element node,
+ Context ctx,
+ TodoItem caller) {
+ super(node, ctx, caller);
+ }
+
+ @Override
+ public void handle() {
+ ArrayList<TodoElement> toProcess = new ArrayList<TodoElement>(2);
+ Element hr = ctx.doc.createElementNS(DamlEngine.XHTML_NS, "hr");
+ hr.setAttributeNS(null, "class", "cleared");
+ node.getParentNode().insertBefore(hr, node);
+ node.getParentNode().insertBefore(ctx.doc.createTextNode("\n"), node);
+ toProcess.add(TodoElement.getTodoElement(hr, this.ctx, this));
+ Element addr = ctx.doc.createElementNS(DamlEngine.XHTML_NS, "address");
+ node.getParentNode().insertBefore(addr, node);
+ node.getParentNode().insertBefore(ctx.doc.createTextNode("\n"), node);
+ toProcess.add(TodoElement.getTodoElement(addr, this.ctx, this));
+ Element a = ctx.doc.createElementNS(DamlEngine.XHTML_NS, "a");
+ a.setAttributeNS(null, "href",
+ (ctx.uriToTop==null)?"http://www.madore.org/~david/"
+ :ctx.uriToTop);
+ addr.appendChild(a);
+ a.appendChild(ctx.doc.createTextNode("David Madore"));
+ addr.appendChild(ctx.doc.createTextNode(" ("));
+ Element email = ctx.doc.createElementNS(DamlEngine.DAML_NS, "d:email-despammed");
+ addr.appendChild(email);
+ addr.appendChild(ctx.doc.createTextNode(")"));
+ email.appendChild(ctx.doc.createTextNode("david+www"));
+ email.appendChild(ctx.doc.createElementNS(DamlEngine.DAML_NS, "d:email-at"));
+ email.appendChild(ctx.doc.createTextNode("madore"));
+ email.appendChild(ctx.doc.createElementNS(DamlEngine.DAML_NS, "d:email-dot"));
+ email.appendChild(ctx.doc.createTextNode("org"));
+ Node ws = node.getNextSibling();
+ if ( ( ws.getNodeType() == Node.TEXT_NODE
+ || ws.getNodeType() == Node.CDATA_SECTION_NODE )
+ && Pattern.matches("^\\s*$",((CharacterData)ws).getData()) )
+ node.getParentNode().removeChild(ws);
+ node.getParentNode().removeChild(node);
+ this.ownerDeque.registerAtStart(toProcess);
+ }
+
+}