Validate Signatures
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / serviceprovider / PluggableConfigurationComponent.java
1 /*
2  * PluggableConfigurationComponent.java
3  * 
4  * Classes that implement a Pluggable configuration service
5  * must also implement this interface.
6  * 
7  * After loading a class by passing the type= attribute to
8  * Class.forName(), a specific sanity check can be performed
9  * by verifying that the loaded class implements this interface.
10  * This ensures that it really is a Plugin.
11  * 
12  * The getSchemaPathname() method returns the resource name
13  * of the schema file used to parse the XML configuration data.
14  * 
15  * The initialize() method is then called, passing a DOM
16  * node that represents the configuration information for
17  * the plugin, either as opaque inline XML or from a 
18  * loaded external file.
19  * 
20  * Note: in earlier releases the DOM node was passed to
21  * the constructor, but it is safer to support a default
22  * (no argument) constructor and handle initialization though
23  * an interface like this.
24  * 
25  * Note: To be useful, the implementing class must also
26  * implement some functional interface, such as ITrust or
27  * AAP. This interface just manages the load and initialization
28  * part.
29  * 
30  * For examples of use, see one of the builtin implementation
31  * classes (XMLMetadataImpl, ...).
32  * 
33  * --------------------
34  * Copyright 2002, 2004 
35  * University Corporation for Advanced Internet Development, Inc. 
36  * All rights reserved
37  * [Thats all we have to say to protect ourselves]
38  * Your permission to use this code is governed by "The Shibboleth License".
39  * A copy may be found at http://shibboleth.internet2.edu/license.html
40  * [Nothing in copyright law requires license text in every file.]
41  */
42 package edu.internet2.middleware.shibboleth.serviceprovider;
43
44 import org.apache.xmlbeans.XmlException;
45 import org.w3c.dom.Node;
46
47 import edu.internet2.middleware.shibboleth.common.ShibbolethConfigurationException;
48
49 interface PluggableConfigurationComponent {
50     
51     public abstract void 
52     initialize(Node dom) 
53         throws 
54         XmlException, // If there is a problem in the configuration data
55         ShibbolethConfigurationException; // for other problems
56     
57     public String getSchemaPathname();
58 }