All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ebay.jetstream.event.BatchEventSource Maven / Gradle / Ivy

/*******************************************************************************
 *  Copyright © 2012-2015 eBay Software Foundation
 *  This program is dual licensed under the MIT and Apache 2.0 licenses.
 *  Please see LICENSE for more information.
 *******************************************************************************/
package com.ebay.jetstream.event;

import java.util.Collection;

/**
 * This is a tagging interface that any source that will deliver events in
 * batches and follow the batch semantics must implement.
 * 
 * @author xiaojuwu1
 * 
 */
public interface BatchEventSource {

	/**
	 * Add a batch event sink to this batch event source.
	 * 
	 * @param target
	 *            The sink that will receive the events.
	 */
	void addBatchEventSink(BatchEventSink target);

	/**
	 * Gets the complete collection of batch event sinks for this batch event source.
	 * 
	 * @return the collection of batch event sinks connected to the batch event source.
	 */
	Collection getBatchEventSinks();

	/**
	 * Remove a batch event sink from this batch event source.
	 * 
	 * @param target
	 *            The target to remove
	 */
	void removeBatchEventSink(BatchEventSink target);

	/**
	 * Sets the complete collection of batch event sinks for this source.
	 * 
	 * @param sinks
	 *            the collection of batch event sinks to set for this source.
	 */
	void setBatchEventSinks(Collection sinks);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy