Mercurial > hg > mpdl-group
comparison 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 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:408254cf2f1d |
---|---|
1 package de.mpg.mpiwg.berlin.mpdl.donatus.xmlrpc; | |
2 | |
3 import java.util.ArrayList; | |
4 | |
5 public class DonatusLemma { | |
6 private DonatusMorphologyDocument morphDocument; | |
7 private String language; | |
8 private String type = DonatusConstants.TYPE_DONATUS; | |
9 private String form; | |
10 private String definition = ""; | |
11 private ArrayList<DonatusVariant> variants; | |
12 | |
13 public DonatusLemma(DonatusMorphologyDocument morphDoc, String language, String type, String form) { | |
14 this.morphDocument = morphDoc; | |
15 this.language = language; | |
16 this.type = type; | |
17 this.form = form; | |
18 this.variants = new ArrayList<DonatusVariant>(); | |
19 // always the Lemma form is variant itself | |
20 DonatusVariant variant = new DonatusVariant(this, type, form); | |
21 variants.add(variant); | |
22 } | |
23 | |
24 public String getLanguage() { | |
25 return language; | |
26 } | |
27 | |
28 public String getForm() { | |
29 return form; | |
30 } | |
31 | |
32 public ArrayList<DonatusVariant> getVariants() { | |
33 return variants; | |
34 } | |
35 | |
36 public ArrayList<DonatusVariant> getVariants(String type) { | |
37 ArrayList<DonatusVariant> result = new ArrayList<DonatusVariant>(); | |
38 for (int i=0; i<variants.size(); i++) { | |
39 DonatusVariant variant = variants.get(i); | |
40 String vType = variant.getType(); | |
41 if (vType.equals(type)) | |
42 result.add(variant); | |
43 } | |
44 return result; | |
45 } | |
46 | |
47 public void setDefinition(String def) { | |
48 this.definition = def; | |
49 } | |
50 | |
51 public void addVariant(DonatusVariant variant) { | |
52 morphDocument.putVariant(variant); | |
53 if (! variants.contains(variant) && ! variantsContainsForm(variant.getForm())) | |
54 variants.add(variant); | |
55 } | |
56 | |
57 public String getXmlString() { | |
58 String xmlString = "<lemma form=\"" + form + "\" lang=\"" + language + "\">"; | |
59 xmlString += "<definition>" + definition + "</definition>"; | |
60 for (int i=0; i<variants.size(); i++) { | |
61 DonatusVariant variant = variants.get(i); | |
62 String variantXmlString = variant.getXmlString(); | |
63 xmlString += variantXmlString; | |
64 } | |
65 xmlString += "</lemma>\n"; | |
66 return xmlString; | |
67 } | |
68 | |
69 public String toString() { | |
70 return getXmlString(); | |
71 } | |
72 | |
73 private boolean variantsContainsForm(String variantForm) { | |
74 boolean contains = false; | |
75 for (int i=0; i<variants.size(); i++) { | |
76 DonatusVariant v = variants.get(i); | |
77 String vForm = v.getForm(); | |
78 if (vForm.equals(variantForm)) | |
79 contains = true; | |
80 } | |
81 return contains; | |
82 } | |
83 } |