01: /* *************************************************************************
02:
03: Millstone(TM)
04: Open Sourced User Interface Library for
05: Internet Development with Java
06:
07: Millstone is a registered trademark of IT Mill Ltd
08: Copyright (C) 2000-2005 IT Mill Ltd
09:
10: *************************************************************************
11:
12: This library is free software; you can redistribute it and/or
13: modify it under the terms of the GNU Lesser General Public
14: license version 2.1 as published by the Free Software Foundation.
15:
16: This library is distributed in the hope that it will be useful,
17: but WITHOUT ANY WARRANTY; without even the implied warranty of
18: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19: Lesser General Public License for more details.
20:
21: You should have received a copy of the GNU Lesser General Public
22: License along with this library; if not, write to the Free Software
23: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24:
25: *************************************************************************
26:
27: For more information, contact:
28:
29: IT Mill Ltd phone: +358 2 4802 7180
30: Ruukinkatu 2-4 fax: +358 2 4802 7181
31: 20540, Turku email: info@itmill.com
32: Finland company www: www.itmill.com
33:
34: Primary source for MillStone information and releases: www.millstone.org
35:
36: ********************************************************************** */
37:
38: package org.millstone.base.terminal;
39:
40: import java.net.URL;
41:
42: /** Interface implemented by all the classes capable of handling URI:s.
43: *
44: * <p>URI handlers can provide <code>DownloadStream</code>
45: * for transferring data for client.</p>
46: *
47: * @author IT Mill Ltd.
48: * @version 3.1.1
49: * @since 3.0
50: */
51: public interface URIHandler {
52:
53: /** Handle uri.
54: *
55: * Handle the given relative URI. If the URI handling wants to emit
56: * a downloadable stream it can return download stream object. If no
57: * emitting stream is necessary, null should be returned instead.
58: *
59: */
60: public DownloadStream handleURI(URL context, String relativeUri);
61:
62: /** URIHandler error event */
63: public interface ErrorEvent extends Terminal.ErrorEvent {
64:
65: /** Get the source URIHandler. */
66: public URIHandler getURIHandler();
67:
68: }
69: }
|