001 package org.maltparser.core.feature.value;
002
003 import org.maltparser.core.feature.function.Function;
004 /**
005 *
006 *
007 * @author Johan Hall
008 * @since 1.0
009 **/
010 public class SingleFeatureValue extends FeatureValue {
011 protected int indexCode;
012 protected String symbol;
013 protected double value;
014
015 public SingleFeatureValue(Function function) {
016 super(function);
017 setIndexCode(0);
018 setSymbol(null);
019 setValue(0);
020 }
021
022 public void reset() {
023 super.reset();
024 setIndexCode(0);
025 setSymbol(null);
026 setValue(0);
027 }
028
029 public void update(int indexCode, String symbol, boolean nullValue, double value) {
030 this.indexCode = indexCode;
031 this.symbol = symbol;
032 this.nullValue = nullValue;
033 this.value = value;
034 }
035
036 public int getIndexCode() {
037 return indexCode;
038 }
039
040 public void setIndexCode(int code) {
041 this.indexCode = code;
042 }
043
044 public String getSymbol() {
045 return symbol;
046 }
047
048 public void setSymbol(String symbol) {
049 this.symbol = symbol;
050 }
051
052 public double getValue() {
053 return value;
054 }
055
056 public void setValue(double value) {
057 this.value = value;
058 }
059
060 public boolean equals(Object obj) {
061 if (this == obj)
062 return true;
063 if (obj == null)
064 return false;
065 if (getClass() != obj.getClass())
066 return false;
067 SingleFeatureValue v = (SingleFeatureValue)obj;
068 if (indexCode != v.indexCode)
069 return false;
070 if (!symbol.equals(v.symbol))
071 return false;
072 return super.equals(obj);
073 }
074
075 public String toString() {
076 StringBuilder sb = new StringBuilder();
077 sb.append(super.toString());
078 sb.append('{');
079 sb.append(symbol);
080 sb.append("->");
081 sb.append(indexCode);
082 sb.append('}');
083 return sb.toString();
084 }
085 }