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 }