    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 code;
    012            protected String symbol;
    013            protected boolean known;
    014
    015            public SingleFeatureValue(Function function) {
    016                    super(function);
    017                    setCode(0);
    018                    setSymbol(null);
    019                    setKnown(true);
    020            }
    021
    022            public void reset() {
    023                    super.reset();
    024                    setCode(0);
    025                    setSymbol(null);
    026                    setKnown(true);
    027            }
    028
    029            public int getCode() {
    030                    return code;
    031            }
    032
    033            public void setCode(int code) {
    034                    this.code = code;
    035            }
    036
    037            public String getSymbol() {
    038                    return symbol;
    039            }
    040
    041            public void setSymbol(String symbol) {
    042                    this.symbol = symbol;
    043            }
    044
    045            public boolean isKnown() {
    046                    return known;
    047            }
    048
    049            public void setKnown(boolean known) {
    050                    this.known = known;
    051            }
    052
    053            public boolean equals(Object obj) {
    054                    if (this == obj)
    055                            return true;
    056                    if (obj == null)
    057                            return false;
    058                    if (getClass() != obj.getClass())
    059                            return false;
    060                    if (!symbol.equals(((SingleFeatureValue)obj).symbol))
    061                            return false;
    062                    if (code != ((SingleFeatureValue)obj).code)
    063                            return false;
    064                    return super.equals(obj);
    065            }
    066
    067            public String toString() {
    068                    return super.toString()+ "{" + symbol + " -> " + code + ", known=" + known +"} ";
    069            }
    070    }