001package org.maltparser.core.feature.function;
002
003import org.maltparser.core.exception.MaltChainedException;
004/**
005*
006*
007* @author Johan Hall
008*/
009public interface Function {
010        /**
011         * Initialize the feature function
012         * 
013         * @param arguments an array of arguments with the type returned by getParameterTypes()
014         * @throws MaltChainedException
015         */
016        public void initialize(Object[] arguments) throws MaltChainedException;
017        /**
018         * Returns an array of class types used by the feature extraction system to invoke initialize with
019         * correct arguments.
020         * 
021         * @return an array of class types
022         */
023        public Class<?>[] getParameterTypes();
024        /**
025         * Cause the feature function to update the feature value.
026         * 
027         * @throws MaltChainedException
028         */
029        public void update() throws MaltChainedException;
030}