package aalg.crypto;

import java.io.IOException;
import java.io.InputStream;


/**
 * Filter that processes data from source stream and publish them via target stream.
 * @author Ing. Petr Ležák
 */
public interface IInputStreamFilter {
	/**
	 * Returns stream with filtered data.
	 * @return stream target stream
	 */
	public InputStream getTargetStream() throws IOException;
	
	/**
	 * Returns stream with data to filter.
	 * This stream is read internally and should not be read by user.
	 * @return stream source stream
	 */
	public InputStream getSourceStream() throws IOException;
}
