/** * The base interface for all task factories (i.e. {@link StreamTaskFactory} and {@link AsyncStreamTaskFactory}) * * @param <T> the type of task instances created by the factory */ @InterfaceStability.Stable public interface TaskFactory<T> extends Serializable { /** * Create instance of task * * @return task of type T */ T createInstance(); }
/** * The base interface for all task factories (i.e. {@link StreamTaskFactory} and {@link AsyncStreamTaskFactory}) * * @param <T> the type of task instances created by the factory */ @InterfaceStability.Stable public interface TaskFactory<T> extends Serializable { /** * Create instance of task * * @return task of type T */ T createInstance(); }
/** * Build {@link StreamTask} instances. * <p> * Implementations should return a new instance of {@link StreamTask} for each {@link #createInstance()} invocation. */ @InterfaceStability.Stable public interface StreamTaskFactory extends TaskFactory<StreamTask> { }
/** * Build {@link AsyncStreamTask} instances. * <p> * Implementations should return a new instance of {@link AsyncStreamTask} for each {@link #createInstance()} invocation. */ @InterfaceStability.Stable public interface AsyncStreamTaskFactory extends TaskFactory<AsyncStreamTask> { }
/** * Build {@link AsyncStreamTask} instances. * <p> * Implementations should return a new instance of {@link AsyncStreamTask} for each {@link #createInstance()} invocation. */ @InterfaceStability.Stable public interface AsyncStreamTaskFactory extends TaskFactory<AsyncStreamTask> { }
/** * Build {@link StreamTask} instances. * <p> * Implementations should return a new instance of {@link StreamTask} for each {@link #createInstance()} invocation. */ @InterfaceStability.Stable public interface StreamTaskFactory extends TaskFactory<StreamTask> { }