001    package com.hammurapi.flow.runtime;
002    
003    /**
004     * Transition ends and node outputs implement this interface. 
005     * @author Pavel
006     * @param <S> Flow state type.
007     * @param <A> Argument type.
008     */
009    public interface Invoker<S, A> {
010            
011            /**
012             * Sets invoker.
013             * @param sink
014             * @throws IllegalStateException If invoker is already connected to invocable.
015             */
016            void setInvocable(Invocable<S, A> invocable) throws IllegalStateException;
017    
018    }