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 AddressValue extends FunctionValue { 011 private Object address; 012 013 public AddressValue(Function function) { 014 super(function); 015 setAddress(null); 016 } 017 018 public void reset() { 019 setAddress(null); 020 } 021 022 public Class<?> getAddressClass() { 023 if (address != null) { 024 return address.getClass(); 025 } 026 return null; 027 } 028 029 public Object getAddress() { 030 return address; 031 } 032 033 public void setAddress(Object address) { 034 this.address = address; 035 } 036 037 public boolean equals(Object obj) { 038 if (this == obj) 039 return true; 040 if (obj == null) 041 return false; 042 if (getClass() != obj.getClass()) 043 return false; 044 AddressValue other = (AddressValue) obj; 045 if (address == null) { 046 if (other.address != null) 047 return false; 048 } else if (!address.equals(other.address)) 049 return false; 050 return super.equals(obj); 051 } 052 053 public int hashCode() { 054 return 31 + ((address == null) ? 0 : address.hashCode()); 055 } 056 057 public String toString() { 058 final StringBuilder sb = new StringBuilder(); 059 sb.append(super.toString()); 060 sb.append(address.toString()); 061 return sb.toString(); 062 } 063 }