org.w3c.dom.bootstrap

Class DOMImplementationRegistry


public final class DOMImplementationRegistry
extends 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 String
PROPERTY
The system property to specify the DOMImplementationSource class names.

Method Summary

void
addSource(DOMImplementationSource s)
Register an implementation.
DOMImplementation
getDOMImplementation(String features)
Return the first implementation that has the desired features, or null if none is found.
DOMImplementationList
getDOMImplementationList(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, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

PROPERTY

public static final String PROPERTY
The system property to specify the DOMImplementationSource class names.
Field Value:
"org.w3c.dom.DOMImplementationSourceList"

Method Details

addSource

public void addSource(DOMImplementationSource s)
Register an implementation.
Parameters:
s - The source to be registered, may not be null

getDOMImplementation

public DOMImplementation getDOMImplementation(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(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.

newInstance

public static DOMImplementationRegistry newInstance()
            throws ClassNotFoundException,
                   InstantiationException,
                   IllegalAccessException,
                   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:
ClassNotFoundException - If any specified class can not be found
InstantiationException - If any specified class is an interface or abstract class
IllegalAccessException - If the default constructor of a specified class is not accessible
ClassCastException - If any specified class does not implement DOMImplementationSource

* Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] in the hope that * it will be useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231