001    package org.maltparser.core.feature.function;
002    
003    import org.maltparser.core.exception.MaltChainedException;
004    import org.maltparser.core.feature.value.AddressValue;
005    
006    /**
007    *
008    *
009    * @author Johan Hall
010    */
011    public abstract class AddressFunction implements Function {
012            protected AddressValue address;
013            public AddressFunction() {
014                    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    }