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 }