01: /*
02: JSPWiki - a JSP-based WikiWiki clone.
03:
04: Copyright (C) 2001-2002 Janne Jalkanen (Janne.Jalkanen@iki.fi)
05:
06: This program is free software; you can redistribute it and/or modify
07: it under the terms of the GNU Lesser General Public License as published by
08: the Free Software Foundation; either version 2.1 of the License, or
09: (at your option) any later version.
10:
11: This program is distributed in the hope that it will be useful,
12: but WITHOUT ANY WARRANTY; without even the implied warranty of
13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14: GNU Lesser General Public License for more details.
15:
16: You should have received a copy of the GNU Lesser General Public License
17: along with this program; if not, write to the Free Software
18: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19: */
20: package com.ecyrd.jspwiki;
21:
22: import java.util.Properties;
23: import java.io.IOException;
24:
25: /**
26: * A generic Wiki provider for all sorts of things that the Wiki can
27: * store.
28: *
29: * @author Janne Jalkanen
30: * @since 2.0
31: */
32: public interface WikiProvider {
33: /**
34: * Passing this to any method should get the latest version
35: */
36: public static final int LATEST_VERSION = -1;
37:
38: /**
39: * Initializes the page provider.
40: *
41: * @param engine WikiEngine to own this provider
42: * @param properties A set of properties used to initialize this provider
43: * @throws NoRequiredPropertyException If the provider needs a property which is not found in the property set
44: * @throws IOException If there is an IO problem
45: */
46: public void initialize(WikiEngine engine, Properties properties)
47: throws NoRequiredPropertyException, IOException;
48:
49: /**
50: * Return a valid HTML string for information. May
51: * be anything.
52: * @since 1.6.4
53: * @return A string describing the provider.
54: */
55:
56: public String getProviderInfo();
57: }
|