001 package org.maltparser.core.feature.value;
002
003 import org.maltparser.core.feature.function.Function;
004
005 /**
006 *
007 *
008 * @author Johan Hall
009 * @since 1.0
010 **/
011 public abstract class FeatureValue extends FunctionValue {
012 protected boolean nullValue;
013
014 public FeatureValue(Function function) {
015 super(function);
016 setNullValue(true);
017 }
018
019 public void reset() {
020 setNullValue(true);
021 }
022
023 public boolean isNullValue() {
024 return nullValue;
025 }
026
027 public void setNullValue(boolean nullValue) {
028 this.nullValue = nullValue;
029 }
030
031 public abstract boolean isMultiple();
032
033 public boolean equals(Object obj) {
034 if (this == obj)
035 return true;
036 if (obj == null)
037 return false;
038 if (getClass() != obj.getClass())
039 return false;
040 return super.equals(obj);
041 }
042
043 public String toString() {
044 StringBuilder sb = new StringBuilder();
045 sb.append(super.toString());
046 sb.append("[null=");
047 sb.append(nullValue);
048 sb.append("]");
049 return sb.toString();
050 }
051 }