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