src/com/sun/org/apache/xml/internal/dtm/DTMManager.java
Print this page
*** 50,67 ****
* <p>State: In progress!!</p>
*/
public abstract class DTMManager
{
- /** The default property name to load the manager. */
- private static final String defaultPropName =
- "com.sun.org.apache.xml.internal.dtm.DTMManager";
-
- /** The default class name to use as the manager. */
- private static String defaultClassName =
- "com.sun.org.apache.xml.internal.dtm.ref.DTMManagerDefault";
-
/**
* Factory for creating XMLString objects.
* %TBD% Make this set by the caller.
*/
protected XMLStringFactory m_xsf = null;
--- 50,59 ----
*** 95,127 ****
}
/**
* Obtain a new instance of a <code>DTMManager</code>.
* This static method creates a new factory instance
! * This method uses the following ordered lookup procedure to determine
! * the <code>DTMManager</code> implementation class to
! * load:
! * <ul>
! * <li>
! * Use the <code>com.sun.org.apache.xml.internal.dtm.DTMManager</code> system
! * property.
! * </li>
! * <li>
! * Use the JAVA_HOME(the parent directory where jdk is
! * installed)/lib/xalan.properties for a property file that contains the
! * name of the implementation class keyed on the same value as the
! * system property defined above.
! * </li>
! * <li>
! * Use the Services API (as detailed in the JAR specification), if
! * available, to determine the classname. The Services API will look
! * for a classname in the file
! * <code>META-INF/services/com.sun.org.apache.xml.internal.dtm.DTMManager</code>
! * in jars available to the runtime.
! * </li>
! * <li>
! * Use the default <code>DTMManager</code> classname, which is
* <code>com.sun.org.apache.xml.internal.dtm.ref.DTMManagerDefault</code>.
* </li>
* </ul>
*
* Once an application has obtained a reference to a <code>
--- 87,97 ----
}
/**
* Obtain a new instance of a <code>DTMManager</code>.
* This static method creates a new factory instance
! * using the default <code>DTMManager</code> implementation, which is
* <code>com.sun.org.apache.xml.internal.dtm.ref.DTMManagerDefault</code>.
* </li>
* </ul>
*
* Once an application has obtained a reference to a <code>
*** 134,173 ****
* if the implementation is not available or cannot be instantiated.
*/
public static DTMManager newInstance(XMLStringFactory xsf)
throws DTMConfigurationException
{
! return newInstance(xsf, true);
! }
!
! public static DTMManager newInstance(XMLStringFactory xsf, boolean useServicesMechanism)
! throws DTMConfigurationException
! {
! DTMManager factoryImpl = null;
! try
! {
! if (useServicesMechanism) {
! factoryImpl = (DTMManager) ObjectFactory
! .createObject(defaultPropName, defaultClassName);
! } else {
! factoryImpl = new com.sun.org.apache.xml.internal.dtm.ref.DTMManagerDefault();
! }
! }
! catch (ConfigurationError e)
! {
! throw new DTMConfigurationException(XMLMessages.createXMLMessage(
! XMLErrorResources.ER_NO_DEFAULT_IMPL, null), e.getException());
! //"No default implementation found");
! }
!
! if (factoryImpl == null)
! {
! throw new DTMConfigurationException(XMLMessages.createXMLMessage(
! XMLErrorResources.ER_NO_DEFAULT_IMPL, null));
! //"No default implementation found");
! }
!
factoryImpl.setXMLStringFactory(xsf);
return factoryImpl;
}
--- 104,114 ----
* if the implementation is not available or cannot be instantiated.
*/
public static DTMManager newInstance(XMLStringFactory xsf)
throws DTMConfigurationException
{
! final DTMManager factoryImpl = new com.sun.org.apache.xml.internal.dtm.ref.DTMManagerDefault();
factoryImpl.setXMLStringFactory(xsf);
return factoryImpl;
}