## net.sf.saxon.trans
Class DynamicLoader

    java.lang.Object
      net.sf.saxon.trans.DynamicLoader

    public class DynamicLoader

extends java.lang.Object

Constructor Summary
`DynamicLoader()`

Method Summary
`java.lang.Class` `getClass(java.lang.String className, boolean tracing, java.lang.ClassLoader classLoader)` Load a class using the class name provided.
`java.lang.ClassLoader` `getClassLoader()` Get the ClassLoader supplied using the method `setClassLoader(java.lang.ClassLoader)`.
`java.lang.Object` `getInstance(java.lang.String className, boolean tracing, java.lang.ClassLoader classLoader)` Instantiate a class using the class name provided, with the option of tracing Note that the method does not check that the object is of the right class.
`java.lang.Object` `getInstance(java.lang.String className, java.lang.ClassLoader classLoader)` Instantiate a class using the class name provided.
`void` `setClassLoader(java.lang.ClassLoader loader)` Set a ClassLoader to be used when loading external classes.

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

Constructor Detail

### DynamicLoader

    public DynamicLoader()

Method Detail

### setClassLoader

    public void setClassLoader(java.lang.ClassLoader loader)

  Set a ClassLoader to be used when loading external classes. Examples of classes that are loaded include SAX parsers, localization modules for formatting numbers and dates, extension functions, external object models. In an environment such as Eclipse that uses its own ClassLoader, this ClassLoader should be nominated to ensure that any class loaded by Saxon is identical to a class of the same name loaded by the external environment.

  This method is intended for external use by advanced users, but should be regarded as experimental.

  Parameters:
    `loader` - the ClassLoader to be used in this configuration

### getClassLoader

    public java.lang.ClassLoader getClassLoader()

  Get the ClassLoader supplied using the method `setClassLoader(java.lang.ClassLoader)`. If none has been supplied, return null.

  This method is intended for external use by advanced users, but should be regarded as experimental.

  Returns:
    the ClassLoader used in this configuration

### getClass

    public java.lang.Class getClass(java.lang.String className,
                                    boolean tracing,
                                    java.lang.ClassLoader classLoader)
                             throws XPathException

  Load a class using the class name provided. Note that the method does not check that the object is of the right class.

  This method is intended for internal use only.

  Parameters:
    `className` - A string containing the name of the class, for example "com.microstar.sax.LarkDriver"
    `tracing` - true if diagnostic tracing is required
    `classLoader` - The ClassLoader to be used to load the class. If this is null, then the classLoader used will be the first one available of: the classLoader registered with the Configuration using `setClassLoader(java.lang.ClassLoader)`; the context class loader for the current thread; or failing that, the class loader invoked implicitly by a call of Class.forName() (which is the ClassLoader that was used to load the Configuration object itself).
  Returns:
    an instance of the class named, or null if it is not loadable.
  Throws:
    `XPathException` - if the class cannot be loaded.

### getInstance

    public java.lang.Object getInstance(java.lang.String className,
                                        java.lang.ClassLoader classLoader)
                                 throws XPathException

  Instantiate a class using the class name provided. Note that the method does not check that the object is of the right class.

  This method is intended for internal use only.

  Parameters:
    `className` - A string containing the name of the class, for example "com.microstar.sax.LarkDriver"
    `classLoader` - The ClassLoader to be used to load the class. If this is null, then the classLoader used will be the first one available of: the classLoader registered with the Configuration using `setClassLoader(java.lang.ClassLoader)`; the context class loader for the current thread; or failing that, the class loader invoked implicitly by a call of Class.forName() (which is the ClassLoader that was used to load the Configuration object itself).
  Returns:
    an instance of the class named, or null if it is not loadable.
  Throws:
    `XPathException` - if the class cannot be loaded.

### getInstance

    public java.lang.Object getInstance(java.lang.String className,
                                        boolean tracing,
                                        java.lang.ClassLoader classLoader)
                                 throws XPathException

  Instantiate a class using the class name provided, with the option of tracing Note that the method does not check that the object is of the right class.

  This method is intended for internal use only.

  Parameters:
    `className` - A string containing the name of the class, for example "com.microstar.sax.LarkDriver"
    `tracing` - true if attempts to load classes are to be traced to the console
    `classLoader` - The ClassLoader to be used to load the class. If this is null, then the classLoader used will be the first one available of: the classLoader registered with the Configuration using `setClassLoader(java.lang.ClassLoader)`; the context class loader for the current thread; or failing that, the class loader invoked implicitly by a call of Class.forName() (which is the ClassLoader that was used to load the Configuration object itself).
  Returns:
    an instance of the class named, or null if it is not loadable.
  Throws:
    `XPathException` - if the class cannot be loaded.

Copyright (c) Saxonica Limited. All rights reserved.