    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    }