001    package org.maltparser.core.feature.function;
002    
003    import org.maltparser.core.feature.value.AddressValue;
004    
005    /**
006    *
007    *
008    * @author Johan Hall
009    */
010    public abstract class AddressFunction implements Function {
011            protected AddressValue address;
012            public AddressFunction() {
013                    address = new AddressValue(this);
014            }
015            
016            /**
017             * Returns the address value of address function
018             * 
019             * @return the address value of address function
020             */
021            public AddressValue getAddressValue() {
022                    return address;
023            }
024            
025            public boolean equals(Object obj) {
026                    if (this == obj)
027                            return true;
028                    if (obj == null)
029                            return false;
030                    if (getClass() != obj.getClass())
031                            return false;
032    
033                    return address.equals(((AddressFunction)obj).getAddressValue());
034            }
035    
036            public String toString() {
037                    return address.toString();
038            }
039    }