diff software/eXist/mpdl-modules/src/de/mpg/mpiwg/berlin/mpdl/donatus/xmlrpc/DonatusWtagDocument.java @ 0:408254cf2f1d

Erstellung
author Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
date Wed, 24 Nov 2010 17:24:23 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/software/eXist/mpdl-modules/src/de/mpg/mpiwg/berlin/mpdl/donatus/xmlrpc/DonatusWtagDocument.java	Wed Nov 24 17:24:23 2010 +0100
@@ -0,0 +1,72 @@
+package de.mpg.mpiwg.berlin.mpdl.donatus.xmlrpc;
+
+import java.util.ArrayList;
+
+public class DonatusWtagDocument {
+  private String locator;  // e.g. http://archimedes/037.xml
+  private ArrayList<DonatusWtagSection> donatusWtagSections;
+
+  public DonatusWtagDocument(String locator) {
+    this.locator = locator;
+    donatusWtagSections = new ArrayList<DonatusWtagSection>();
+  }
+
+  public DonatusWtagDocument(String locator, ArrayList<DonatusWtagSection> donatusWtagSections) {
+    this.locator = locator;
+    this.donatusWtagSections = donatusWtagSections;
+  }
+
+  public String getLocator() {
+    return locator;  
+  }
+  
+  public ArrayList<DonatusWtagSection> getSections() {
+    return donatusWtagSections;
+  }
+  
+  public String getLanguage() {
+    if (donatusWtagSections != null && donatusWtagSections.size() > 0)
+      return donatusWtagSections.get(0).getLanguage();
+    else
+      return DonatusConstants.DEFAULT_LANGUAGE;
+  }
+  
+  public DonatusWtagContainer getContainer(String language, int position) {
+    DonatusWtagContainer retContainer = null;
+    DonatusWtagSection s = getSection(language);
+    if (s != null) {
+      ArrayList<DonatusWtagContainer> containerArray = s.getContainer();
+      if (containerArray != null)
+        retContainer = containerArray.get(position);
+    }
+    return retContainer;
+  }
+  
+  public DonatusWtagSection getSection(String language) {
+    if (donatusWtagSections == null)
+      return null;
+    for (int i=0; i<donatusWtagSections.size(); i++) {
+      DonatusWtagSection s = donatusWtagSections.get(i);
+      if (s.getLanguage().toLowerCase().equals(language.toLowerCase()))
+        return s;
+    }
+    return null;
+  }
+  
+  public String getXmlString() {
+    StringBuffer xmlString = new StringBuffer("<wtag locator=\"" + locator + "\">");
+    ArrayList<DonatusWtagSection> sections = getSections();
+    for (int i=0; i<sections.size(); i++) {
+      DonatusWtagSection section = sections.get(i);
+      String sectionXmlString = section.getXmlString();
+      xmlString.append(sectionXmlString);
+    }
+    xmlString.append("</wtag>");
+    return xmlString.toString();
+  }
+  
+  public void addSection(DonatusWtagSection section) {
+    donatusWtagSections.add(section);  
+  }
+  
+}