1   /*
2    *  MutableLexKBWordSenseImpl.java
3    *
4    *  Copyright (c) 1998-2005, The University of Sheffield.
5    *
6    *  This file is part of GATE (see http://gate.ac.uk/), and is free
7    *  software, licenced under the GNU Library General Public License,
8    *  Version 2, June 1991 (in the distribution as file licence.html,
9    *  and also available at http://gate.ac.uk/gate/licence.html).
10   *
11   *  Kalina Bontcheva, 21/February/2003
12   *
13   *  $Id: MutableLexKBWordSenseImpl.java,v 1.6 2005/01/11 13:51:36 ian Exp $
14   */
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    }//toString
68  
69    public void setSenseNumber(int newNumber) {
70      senseNumber = newNumber;
71    }
72  }