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 (!(obj instanceof SingleFeatureValue)) {
055                            return false;
056                    } else if (!symbol.equals(((SingleFeatureValue)obj).symbol)) {
057                            return false;
058                    } else if (code != ((SingleFeatureValue)obj).code) {
059                            return false;
060                    }
061                    return super.equals(obj);
062            }
063            
064            public String toString() {
065                    return super.toString()+ "{" + symbol + " -> " + code + ", known=" + known +"} ";
066            }
067    }