import java.net.URL;
/**
- * Interface implemented by all the classes capable of handling URI:s.
- *
- * <p>
- * <code>URIHandler</code> can provide <code>DownloadStream</code> for
- * transferring data for client.
- * </p>
+ * A URIHandler is used for handling URI:s requested by the user and can
+ * optionally provide a {@link DownloadStream}. If a {@link DownloadStream} is
+ * returned by {@link #handleURI(URL, String)}, the stream is sent to the
+ * client.
*
* @author IT Mill Ltd.
* @version
public interface URIHandler extends Serializable {
/**
- * Handles a given relative URI. If the URI handling wants to emit a
- * downloadable stream it can return download stream object. If no emitting
- * stream is necessary, null should be returned instead.
+ * Handles a given URI. If the URI handler to emit a downloadable stream it
+ * should return a {@code DownloadStream} object.
*
* @param context
- * the URl.
+ * the base URL
* @param relativeUri
- * the relative uri.
- * @return the download stream object.
+ * a URI relative to {@code context}
+ * @return A downloadable stream or null if no stream is provided
*/
public DownloadStream handleURI(URL context, String relativeUri);
/**
- * URIHandler error event.
+ * An {@code ErrorEvent} implementation for URIHandler.
*/
public interface ErrorEvent extends Terminal.ErrorEvent {
/**
- * Gets the source URIHandler.
+ * Gets the URIHandler that caused this error.
*
- * @return the URIHandler.
+ * @return the URIHandler that caused the error
*/
public URIHandler getURIHandler();