/* @ITMillApache2LicenseForJavaFiles@ */ package com.vaadin.terminal; import java.io.Serializable; import java.net.URL; /** * Interface implemented by all the classes capable of handling URI:s. * *

* URIHandler can provide DownloadStream for * transferring data for client. *

* * @author IT Mill Ltd. * @version * @VERSION@ * @since 3.0 */ 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. * * @param context * the URl. * @param relativeUri * the relative uri. * @return the download stream object. */ public DownloadStream handleURI(URL context, String relativeUri); /** * URIHandler error event. */ public interface ErrorEvent extends Terminal.ErrorEvent { /** * Gets the source URIHandler. * * @return the URIHandler. */ public URIHandler getURIHandler(); } }