Coverage Report - de.glossmaker.gloss.datastructure.GlossItem
 
Classes in this File Line Coverage Branch Coverage Complexity
GlossItem
79%
34/43
50%
7/14
1,412
 
 1  
 package de.glossmaker.gloss.datastructure;
 2  
 
 3  
 
 4  
 /**
 5  
  * 
 6  
  * 
 7  
  * @author Markus Flingelli
 8  
  */
 9  0
 public class GlossItem implements IGlossItem, Comparable<GlossItem> {
 10  
 
 11  45
         private String mKey = null;
 12  45
         private String mWord = null;
 13  45
         private String mDefinition =  null;
 14  45
         private String mHeading = null;
 15  45
         private EOperation mOperation = null;
 16  
         
 17  45
         public GlossItem(String key, String heading, String word, String definition) {
 18  45
                 mKey = key;
 19  45
                 mHeading = heading;
 20  45
                 mWord = word;
 21  45
                 mDefinition = definition;
 22  45
         }
 23  
         
 24  
         public String getKey() {
 25  45
                 return mKey;
 26  
         }
 27  
         public void setKey(String key) {
 28  2
                 mKey = key;
 29  2
         }
 30  
         public String getWord() {
 31  45
                 return mWord;
 32  
         }
 33  
         public void setWord(String word) {
 34  1
                 mWord = word;
 35  1
         }
 36  
         public String getDefinition() {
 37  32
                 return mDefinition;
 38  
         }
 39  
         public void setDefinition(String definition) {
 40  2
                 mDefinition = definition;
 41  2
         }
 42  
         public String getHeading() {
 43  91
                 return mHeading;
 44  
         }
 45  
         public void setHeading(String heading) {
 46  1
                 mHeading = heading;
 47  1
         }
 48  
         
 49  
         public EOperation getOperation() {
 50  0
                 return mOperation;
 51  
         }
 52  
         
 53  
         public void setOperation(EOperation operation) {
 54  3
                 mOperation = operation;
 55  3
         }
 56  
         
 57  
         @Override
 58  
         protected GlossItem clone() {
 59  3
                 GlossItem item = new GlossItem(mKey, mHeading, mWord, mDefinition);
 60  3
                 item.setOperation(mOperation);
 61  3
                 return item;
 62  
         }
 63  
         
 64  
         @Override
 65  
         public boolean equals(Object item) {
 66  8
                 if (item instanceof GlossItem) {
 67  7
                         GlossItem obj = (GlossItem)item;
 68  7
                         return obj.getKey().equals(getKey()) && 
 69  
                                    obj.getWord().equals(getWord()) &&
 70  
                                    obj.getDefinition().equals(getDefinition()) &&
 71  
                                    obj.getHeading().equals(getHeading());
 72  
                 } else {
 73  1
                         return false;
 74  
                 }
 75  
         }
 76  
         
 77  
         @Override
 78  
         public int hashCode() {
 79  2
                 return getKey().length() * getWord().length() + getDefinition().length();
 80  
         }
 81  
         
 82  
         @Override
 83  
         public String toString() {
 84  0
                 return getWord();
 85  
         }
 86  
         
 87  
         @Override
 88  
         public IItem cloneItem() {
 89  1
                 return this.clone();
 90  
         }
 91  
 
 92  
 
 93  
         @Override
 94  
         public int compareTo(GlossItem item) {
 95  0
                 int result = getHeading().compareTo(item.getHeading());
 96  0
                 if (result == 0) {
 97  0
                         result = getWord().compareTo(item.getWord());
 98  0
                         if (result == 0) {
 99  0
                                 result = getKey().compareTo(item.getKey());
 100  
                         }
 101  
                 }
 102  
                 
 103  0
                 return result;
 104  
         }        
 105  
 }