/** * A {@link Trigger} whose firing logic is determined by a time duration. * * <p> Use the {@link Triggers} APIs to create a {@link Trigger}. * * @param <M> the type of the incoming message */ @InterfaceStability.Unstable public interface TimeBasedTrigger<M> extends Trigger<M> { Duration getDuration(); }
/** * 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> { }
@InterfaceStability.Evolving public interface JobCoordinatorFactory { /** * Returns a new instance of {@link JobCoordinator}. * @param processorId a unique logical identifier assigned to the {@link org.apache.samza.processor.StreamProcessor}. * @param config the configuration of the samza application. * @param metricsRegistry used to publish the coordination specific metrics. * @return the {@link JobCoordinator} instance. */ JobCoordinator getJobCoordinator(String processorId, Config config, MetricsRegistry metricsRegistry); }
/** * An output stream to send messages to. * * @param <M> the type of message being sent to this {@link OutputStream} */ @InterfaceStability.Unstable public interface OutputStream<M> { }
@InterfaceStability.Evolving public interface JobCoordinatorFactory { /** * Return a new instance of {@link JobCoordinator} * @param config Configs relevant for the JobCoordinator TODO: Separate JC related configs into a "JobCoordinatorConfig" * @return {@link JobCoordinator} instance */ JobCoordinator getJobCoordinator(Config config); }
/** * 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> { }
/** * Factory of a table provider object */ @InterfaceStability.Unstable public interface TableProviderFactory { /** * Construct a table provider based on job configuration * @param tableId Id of the table * @return the constructed table provider */ TableProvider getTableProvider(String tableId); }
@InterfaceStability.Evolving public interface JobCoordinatorFactory { /** * Return a new instance of {@link JobCoordinator} * @param config Configs relevant for the JobCoordinator TODO: Separate JC related configs into a "JobCoordinatorConfig" * @return {@link JobCoordinator} instance */ JobCoordinator getJobCoordinator(Config config); }
/** * 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> { }
/** * Marker interface for all triggers. The firing of a trigger indicates the completion of a window pane. * * <p> Use the {@link Triggers} APIs to create a {@link Trigger}. * * @param <M> the type of the incoming message */ @InterfaceStability.Unstable public interface Trigger<M> extends Serializable { }
@InterfaceStability.Evolving public interface JobCoordinatorFactory { /** * Return a new instance of {@link JobCoordinator} * @param config Configs relevant for the JobCoordinator TODO: Separate JC related configs into a "JobCoordinatorConfig" * @return {@link JobCoordinator} instance */ JobCoordinator getJobCoordinator(Config config); }
/** * 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> { }
/** * Marker interface for all triggers. The firing of a trigger indicates the completion of a window pane. * * <p> Use the {@link Triggers} APIs to create a {@link Trigger}. * * @param <M> the type of the incoming message */ @InterfaceStability.Unstable public interface Trigger<M> extends Serializable { }
@InterfaceStability.Evolving public interface JobCoordinatorFactory { /** * Return a new instance of {@link JobCoordinator} * @param config Configs relevant for the JobCoordinator TODO: Separate JC related configs into a "JobCoordinatorConfig" * @return {@link JobCoordinator} instance */ JobCoordinator getJobCoordinator(Config config); }
/** * 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 context for a StreamProcessor. A placeholder class for the general context for Samza application. * * TODO: pending change with SAMZA-1714 */ @InterfaceStability.Unstable public interface ProcessorContext { }
/** * An output stream to send messages to. * * @param <M> the type of message being sent to this {@link OutputStream} */ @InterfaceStability.Unstable public interface OutputStream<M> { }
/** * The context for a StreamProcessor. A placeholder class for the general context for Samza application. * * TODO: pending change with SAMZA-1714 */ @InterfaceStability.Unstable public interface ProcessorContext { }
/** * A {@link Trigger} whose firing logic is determined by a time duration. * * <p> Use the {@link Triggers} APIs to create a {@link Trigger}. * * @param <M> the type of the incoming message */ @InterfaceStability.Unstable public interface TimeBasedTrigger<M> extends Trigger<M> { Duration getDuration(); }
/** * Factory of a table provider object */ @InterfaceStability.Unstable public interface TableProviderFactory { /** * Constructs an instances of the table provider based on a given table spec * @param tableSpec the table spec * @return the table provider */ TableProvider getTableProvider(TableSpec tableSpec); }