org.opensaml.common.xml
Class SAMLSchemaBuilder

java.lang.Object
  extended by org.opensaml.common.xml.SAMLSchemaBuilder

public final class SAMLSchemaBuilder
extends Object

A convenience builder for creating Schemas for validating SAML 1_0, 1_1, and 2_0. Additional schema may be registered by addExtensionSchema(String) with the given argument a relative or absolute path that will be resolved against the classpath. Note that relative paths are relative to this class. Also, schema files must be provided in the order they are referenced, that is if schema B depends on schema A then schema A must appear first in the list of registered extension schemas. Schemas may use a schema location attribute. These schema locations will be resolved by the ClasspathResolver. If schema locations are used they will be resolved and will meet the aformentioned schema ordering requirement. The schema objects produced here are thread safe and should be re-used, to that end the schema builder will cache created schema using SoftReferences, allowing the VM to reclaim the memory used by schemas if necessary.


Method Summary
static void addExtensionSchema(String schema)
          Registers a new schema extension.
static List<String> getExtensionSchema()
          Gets an unmodifiable list of currently registered schema extension.
static Schema getSAML10Schema()
          Gets a schema that can validate SAML 1.0, 2.0, and all registered extensions.
static Schema getSAML11Schema()
          Gets a schema that can validate SAML 1.1, 2.0, and all registered extensions.
static void removeSchema(String schema)
          Removes a currently registered schema.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getSAML10Schema

public static Schema getSAML10Schema()
                              throws SAXException
Gets a schema that can validate SAML 1.0, 2.0, and all registered extensions.

Returns:
schema that can validate SAML 1.0, 2.0, and all registered extensions
Throws:
SAXException - thrown if a schema object can not be created

getSAML11Schema

public static Schema getSAML11Schema()
                              throws SAXException
Gets a schema that can validate SAML 1.1, 2.0, and all registered extensions.

Returns:
schema that can validate SAML 1.1, 2.0, and all registered extensions
Throws:
SAXException - thrown if a schema object can not be created

getExtensionSchema

public static List<String> getExtensionSchema()
Gets an unmodifiable list of currently registered schema extension.

Returns:
unmodifiable list of currently registered schema extension

addExtensionSchema

public static void addExtensionSchema(String schema)
Registers a new schema extension. The schema location will be searched for on the classpath.

Parameters:
schema - new schema extension

removeSchema

public static void removeSchema(String schema)
Removes a currently registered schema.

Parameters:
schema - currently registered schema


Copyright © 2006-2011 Internet2. All Rights Reserved.