001    package calhoun.analysis.crf;
002    
003    import calhoun.analysis.crf.io.InputSequence;
004    
005    
006    /** holds features whose value only depends on the current state, and not the previous state.
007     * An {@link FeatureManagerEdge} is more general than a node feature, but node features are more efficient
008     * since the solver does not need to evaluate them separately for each transition.  
009     */
010    public interface FeatureManagerNode<InputType> extends FeatureManager<InputType> {
011    
012            /** Evaluates the set of features managed by this object for the given arguments. */
013            void evaluateNode(InputSequence<? extends InputType> seq, int pos, int state, FeatureList result);
014    }