Mercurial > hg > mpdl-group
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); + } + +}