Mercurial > hg > mpdl-group
view software/eXist/mpdl-modules/src/de/mpg/mpiwg/berlin/mpdl/donatus/xmlrpc/DonatusLemma.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 DonatusLemma { private DonatusMorphologyDocument morphDocument; private String language; private String type = DonatusConstants.TYPE_DONATUS; private String form; private String definition = ""; private ArrayList<DonatusVariant> variants; public DonatusLemma(DonatusMorphologyDocument morphDoc, String language, String type, String form) { this.morphDocument = morphDoc; this.language = language; this.type = type; this.form = form; this.variants = new ArrayList<DonatusVariant>(); // always the Lemma form is variant itself DonatusVariant variant = new DonatusVariant(this, type, form); variants.add(variant); } public String getLanguage() { return language; } public String getForm() { return form; } public ArrayList<DonatusVariant> getVariants() { return variants; } public ArrayList<DonatusVariant> getVariants(String type) { ArrayList<DonatusVariant> result = new ArrayList<DonatusVariant>(); for (int i=0; i<variants.size(); i++) { DonatusVariant variant = variants.get(i); String vType = variant.getType(); if (vType.equals(type)) result.add(variant); } return result; } public void setDefinition(String def) { this.definition = def; } public void addVariant(DonatusVariant variant) { morphDocument.putVariant(variant); if (! variants.contains(variant) && ! variantsContainsForm(variant.getForm())) variants.add(variant); } public String getXmlString() { String xmlString = "<lemma form=\"" + form + "\" lang=\"" + language + "\">"; xmlString += "<definition>" + definition + "</definition>"; for (int i=0; i<variants.size(); i++) { DonatusVariant variant = variants.get(i); String variantXmlString = variant.getXmlString(); xmlString += variantXmlString; } xmlString += "</lemma>\n"; return xmlString; } public String toString() { return getXmlString(); } private boolean variantsContainsForm(String variantForm) { boolean contains = false; for (int i=0; i<variants.size(); i++) { DonatusVariant v = variants.get(i); String vForm = v.getForm(); if (vForm.equals(variantForm)) contains = true; } return contains; } }