1
15
16 package gate.lexicon;
17 import java.io.Serializable;
18
19 public class MutableLexKBWordSenseImpl implements MutableLexKBWordSense, Serializable {
20 Word senseWord = null;
21 MutableLexKBSynset senseSynset = null;
22 int senseNumber = 0;
23 int orderInSynset = 0;
24 static final long serialVersionUID = -7352179163930511415L;
25
26
27 public MutableLexKBWordSenseImpl(Word myWord, MutableLexKBSynset mySynset,
28 int mySenseNumber, int myOrderInSynset) {
29 senseWord = myWord;
30 senseSynset = mySynset;
31 senseNumber = mySenseNumber;
32 orderInSynset = myOrderInSynset;
33 }
34
35 public Word getWord() {
36 return senseWord;
37 }
38
39 public Object getPOS() {
40 if (senseSynset == null)
41 return null;
42 return senseSynset.getPOS();
43 }
44
45 public LexKBSynset getSynset() {
46 return senseSynset;
47 }
48
49 public int getSenseNumber() {
50 return senseNumber;
51 }
52
53 public int getOrderInSynset() {
54 return orderInSynset;
55 }
56
57 public void setOrderInSynset(int newIndex) {
58 if (senseSynset == null)
59 throw new RuntimeException(
60 "Cannot set order in synset, as sense has no synset attached!");
61 if (senseSynset.setWordSenseIndex(this, newIndex))
62 orderInSynset = newIndex;
63 }
64
65 public String toString() {
66 return senseWord.getLemma() + "_" + senseNumber;
67 }
69 public void setSenseNumber(int newNumber) {
70 senseNumber = newNumber;
71 }
72 }