01: /*
02: * uDig - User Friendly Desktop Internet GIS client
03: * http://udig.refractions.net
04: * (C) 2004, Refractions Research Inc.
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation;
09: * version 2.1 of the License.
10: *
11: * This library 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 GNU
14: * Lesser General Public License for more details.
15: *
16: */
17: package net.refractions.udig.core.internal;
18:
19: import org.eclipse.core.runtime.IConfigurationElement;
20: import org.eclipse.core.runtime.IExtension;
21:
22: /**
23: * This interface should be implemented by all classes that wish to process Extensions.
24: *
25: * @see net.refractions.udig.core.internal.ExtensionPointUtil
26: * @author Jesse Eichar
27: * @version $Revision: 1.9 $
28: */
29: public interface ExtensionPointProcessor {
30: /**
31: * This method is called by ExtensionPointUtil.process(String, ExtensionPointProcessor). This is
32: * a callback method for the ExtensionPointUtil class.
33: *
34: * @see net.refractions.udig.core.internal.ExtensionPointUtil#process(Plugin, String,
35: * ExtensionPointProcessor)
36: * @param extension An extension that extends the Extension point id specified in the
37: * ExtensionPointUtil.process() call.
38: * @param element One of the configuration element of the extension. The process method is
39: * called once for each configuration element
40: * @throws Exception Exception will be reported to user in the workbench log
41: */
42: public void process(IExtension extension,
43: IConfigurationElement element) throws Exception;
44: }
|