|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.xpath.functions.ObjectFactory
final class ObjectFactory
This class is duplicated for each JAXP subpackage so keep it in sync. It is package private and therefore is not exposed as part of the JAXP API.
This code is designed to implement the JAXP 1.1 spec pluggability feature and is designed to run on JDK version 1.1 and later, and to compile on JDK 1.2 and onward. The code also runs both as part of an unbundled jar file and when bundled as part of the JDK.
This class was moved from the javax.xml.parsers.ObjectFactory
class and modified to be used as a general utility for creating objects
dynamically.
Nested Class Summary | |
---|---|
(package private) static class |
ObjectFactory.ConfigurationError
A configuration error. |
Field Summary | |
---|---|
private static boolean |
DEBUG
Set to true for debugging |
private static java.lang.String |
DEFAULT_PROPERTIES_FILENAME
|
private static long |
fLastModified
Cache the time stamp of the xalan.properties file so that we know if it's been modified and can invalidate the cache when necessary. |
private static java.util.Properties |
fXalanProperties
cache the contents of the xalan.properties file. |
private static java.lang.String |
SERVICES_PATH
|
Constructor Summary | |
---|---|
ObjectFactory()
|
Method Summary | |
---|---|
(package private) static java.lang.Object |
createObject(java.lang.String factoryId,
java.lang.String fallbackClassName)
Finds the implementation Class object in the specified order. |
(package private) static java.lang.Object |
createObject(java.lang.String factoryId,
java.lang.String propertiesFilename,
java.lang.String fallbackClassName)
Finds the implementation Class object in the specified order. |
private static void |
debugPrintln(java.lang.String msg)
Prints a message to standard error if debugging is enabled. |
(package private) static java.lang.ClassLoader |
findClassLoader()
Figure out which ClassLoader to use. |
private static java.lang.String |
findJarServiceProviderName(java.lang.String factoryId)
Find the name of service provider using Jar Service Provider Mechanism |
(package private) static java.lang.Class |
findProviderClass(java.lang.String className,
java.lang.ClassLoader cl,
boolean doFallback)
Find a Class using the specified ClassLoader |
(package private) static java.lang.Class |
lookUpFactoryClass(java.lang.String factoryId)
Finds the implementation Class object in the specified order. |
(package private) static java.lang.Class |
lookUpFactoryClass(java.lang.String factoryId,
java.lang.String propertiesFilename,
java.lang.String fallbackClassName)
Finds the implementation Class object in the specified order. |
(package private) static java.lang.String |
lookUpFactoryClassName(java.lang.String factoryId,
java.lang.String propertiesFilename,
java.lang.String fallbackClassName)
Finds the name of the required implementation class in the specified order. |
(package private) static java.lang.Object |
newInstance(java.lang.String className,
java.lang.ClassLoader cl,
boolean doFallback)
Create an instance of a class using the specified ClassLoader |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final java.lang.String DEFAULT_PROPERTIES_FILENAME
private static final java.lang.String SERVICES_PATH
private static final boolean DEBUG
private static java.util.Properties fXalanProperties
private static long fLastModified
Constructor Detail |
---|
ObjectFactory()
Method Detail |
---|
static java.lang.Object createObject(java.lang.String factoryId, java.lang.String fallbackClassName) throws ObjectFactory.ConfigurationError
System.getProperty
META-INF/services/factoryId
file
factoryId
- Name of the factory to find, same as
a property namefallbackClassName
- Implementation class name, if nothing else
is found. Use null to mean no fallback.
ObjectFactory.ConfigurationError
static java.lang.Object createObject(java.lang.String factoryId, java.lang.String propertiesFilename, java.lang.String fallbackClassName) throws ObjectFactory.ConfigurationError
System.getProperty
$java.home/lib/propertiesFilename
file
META-INF/services/factoryId
file
factoryId
- Name of the factory to find, same as
a property namepropertiesFilename
- The filename in the $java.home/lib directory
of the properties file. If none specified,
${java.home}/lib/xalan.properties will be used.fallbackClassName
- Implementation class name, if nothing else
is found. Use null to mean no fallback.
ObjectFactory.ConfigurationError
static java.lang.Class lookUpFactoryClass(java.lang.String factoryId) throws ObjectFactory.ConfigurationError
System.getProperty
$java.home/lib/propertiesFilename
file
META-INF/services/factoryId
file
factoryId
- Name of the factory to find, same as
a property namepropertiesFilename
- The filename in the $java.home/lib directory
of the properties file. If none specified,
${java.home}/lib/xalan.properties will be used.fallbackClassName
- Implementation class name, if nothing else
is found. Use null to mean no fallback.
ObjectFactory.ConfigurationError
static java.lang.Class lookUpFactoryClass(java.lang.String factoryId, java.lang.String propertiesFilename, java.lang.String fallbackClassName) throws ObjectFactory.ConfigurationError
System.getProperty
$java.home/lib/propertiesFilename
file
META-INF/services/factoryId
file
factoryId
- Name of the factory to find, same as
a property namepropertiesFilename
- The filename in the $java.home/lib directory
of the properties file. If none specified,
${java.home}/lib/xalan.properties will be used.fallbackClassName
- Implementation class name, if nothing else
is found. Use null to mean no fallback.
ObjectFactory.ConfigurationError
static java.lang.String lookUpFactoryClassName(java.lang.String factoryId, java.lang.String propertiesFilename, java.lang.String fallbackClassName)
System.getProperty
$java.home/lib/propertiesFilename
file
META-INF/services/factoryId
file
factoryId
- Name of the factory to find, same as
a property namepropertiesFilename
- The filename in the $java.home/lib directory
of the properties file. If none specified,
${java.home}/lib/xalan.properties will be used.fallbackClassName
- Implementation class name, if nothing else
is found. Use null to mean no fallback.
ObjectFactory.ConfigurationError
private static void debugPrintln(java.lang.String msg)
static java.lang.ClassLoader findClassLoader() throws ObjectFactory.ConfigurationError
ObjectFactory.ConfigurationError
static java.lang.Object newInstance(java.lang.String className, java.lang.ClassLoader cl, boolean doFallback) throws ObjectFactory.ConfigurationError
ObjectFactory.ConfigurationError
static java.lang.Class findProviderClass(java.lang.String className, java.lang.ClassLoader cl, boolean doFallback) throws java.lang.ClassNotFoundException, ObjectFactory.ConfigurationError
java.lang.ClassNotFoundException
ObjectFactory.ConfigurationError
private static java.lang.String findJarServiceProviderName(java.lang.String factoryId)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |