    001    package org.maltparser.core.feature.function;
    002
    003    import org.maltparser.core.exception.MaltChainedException;
    004    /**
    005    *
    006    *
    007    * @author Johan Hall
    008    */
    009    public 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    }