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

org.directwebremoting.io.InputStreamFactory Maven / Gradle / Ivy

package org.directwebremoting.io;

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

import org.directwebremoting.extend.SimpleInputStreamFactory;

/**
 * This class gives some lifecycle to an InputStream.
 * There may be times (particularly with downloading files to browsers) when it
 * is not clear if the data will ever be read.
 * A call to {@link #getInputStream()} is a signal that we really to want data
 * now and that if any processing is needed, if should be done.
 * A call to {@link #close()} is a signal that whether or not getInputStream was
 * called, the data is no longer required.
 * {@link SimpleInputStreamFactory}.
 * @see SimpleInputStreamFactory
 * @author Lance Semmens [uklance at gmail dot com]
 */
public interface InputStreamFactory
{
    /**
     * Gets an input stream. This function should be called only once.
     * @return ...
     * @throws IOException ...
     */
    InputStream getInputStream() throws IOException;

    /**
     * Whether or not this resource has been read from, this should be called
     * to indicate that the resources are no longer required.
     * @throws IOException ...
     */
    void close() throws IOException;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy