view 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 source

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);  
  }
  
}