7ea919f0053dd9d26fd74f5265daa58272f236a5
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / SAMLBindingFactory.java
1 package edu.internet2.middleware.shibboleth;
2
3 import org.opensaml.SAMLBinding;
4 import org.opensaml.SAMLSOAPBinding;
5
6 /**
7  *  Used by Shibboleth SHAR/AA to locate a SAML binding implementation
8  *
9  * @author     Scott Cantor
10  * @created    April 10, 2002
11  */
12 public class SAMLBindingFactory
13 {
14     /**
15      *  Gets a compatible binding implementation for the specified protocol and
16      *  policies
17      *
18      * @param  protocol                          URI of SAML binding protocol
19      * @param  policies                          Array of policy URIs that the
20      *      implementation must support
21      * @return                                   A compatible binding
22      *      implementation or null if one cannot be found
23      */
24     public static SAMLBinding getInstance(String protocol, String[] policies)
25     {
26         // Current version only knows about SOAP binding and Club Shib...
27         if (protocol == null || !protocol.equals(SAMLBinding.SAML_SOAP_HTTPS))
28             return null;
29         if (policies==null || policies.length!=1 || !policies[0].equals(Constants.POLICY_CLUBSHIB))
30             return null;
31         return new SAMLSOAPBinding();
32     }
33 }
34