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