## org.w3c.dom.bootstrap
Class DOMImplementationRegistry

    java.lang.Object
      |
      +--org.w3c.dom.bootstrap.DOMImplementationRegistry

public final class DOMImplementationRegistry
extends java.lang.Object

A factory that enables applications to obtain instances of `DOMImplementation`.

Example:

      // get an instance of the DOMImplementation registry
      DOMImplementationRegistry registry =
           DOMImplementationRegistry.newInstance();
      // get a DOM implementation the Level 3 XML module
      DOMImplementation domImpl =
           registry.getDOMImplementation("XML 3.0");

This provides an application with an implementation-independent starting point. DOM implementations may modify this class to meet new security standards or to provide *additional* fallbacks for the list of DOMImplementationSources.

Since:
  DOM Level 3
See Also:
  `DOMImplementation`, `DOMImplementationSource`

Field Summary
`static java.lang.String` `PROPERTY` The system property to specify the DOMImplementationSource class names.

Method Summary
`void` `addSource(DOMImplementationSource s)` Register an implementation.
`DOMImplementation` `getDOMImplementation(java.lang.String features)` Return the first implementation that has the desired features, or `null` if none is found.
`DOMImplementationList` `getDOMImplementationList(java.lang.String features)` Return a list of implementations that support the desired features.
`static DOMImplementationRegistry` `newInstance()` Obtain a new instance of a `DOMImplementationRegistry`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### PROPERTY

    public static final java.lang.String PROPERTY

  The system property to specify the DOMImplementationSource class names.

Method Detail

### newInstance

    public static DOMImplementationRegistry newInstance()
                                                 throws java.lang.ClassNotFoundException,
                                                        java.lang.InstantiationException,
                                                        java.lang.IllegalAccessException,
                                                        java.lang.ClassCastException

  Obtain a new instance of a `DOMImplementationRegistry`. The `DOMImplementationRegistry` is initialized by the application or the implementation, depending on the context, by first checking the value of the Java system property `org.w3c.dom.DOMImplementationSourceList` and the the service provider whose contents are at "`META-INF/services/org.w3c.dom.DOMImplementationSourceList`" The value of this property is a white-space separated list of names of availables classes implementing the `DOMImplementationSource` interface. Each class listed in the class name list is instantiated and any exceptions encountered are thrown to the application.
  Returns:
    an initialized instance of DOMImplementationRegistry
  Throws:
    `java.lang.ClassNotFoundException` - If any specified class can not be found
    `java.lang.InstantiationException` - If any specified class is an interface or abstract class
    `java.lang.IllegalAccessException` - If the default constructor of a specified class is not accessible
    `java.lang.ClassCastException` - If any specified class does not implement `DOMImplementationSource`

### getDOMImplementation

    public DOMImplementation getDOMImplementation(java.lang.String features)

  Return the first implementation that has the desired features, or `null` if none is found.
  Parameters:
    `features` - A string that specifies which features are required. This is a space separated list in which each feature is specified by its name optionally followed by a space and a version number. This is something like: "XML 1.0 Traversal +Events 2.0"
  Returns:
    An implementation that has the desired features, or `null` if none found.

### getDOMImplementationList

    public DOMImplementationList getDOMImplementationList(java.lang.String features)

  Return a list of implementations that support the desired features.
  Parameters:
    `features` - A string that specifies which features are required. This is a space separated list in which each feature is specified by its name optionally followed by a space and a version number. This is something like: "XML 1.0 Traversal +Events 2.0"
  Returns:
    A list of DOMImplementations that support the desired features.

### addSource

    public void addSource(DOMImplementationSource s)

  Register an implementation.
  Parameters:
    `s` - The source to be registered, may not be `null`

Copyright © 1999-2007 The Apache Software Foundation. All Rights Reserved.