org.x4juli.global.helper
Class Loader

java.lang.Object
  extended byorg.x4juli.global.helper.Loader

public final class Loader
extends java.lang.Object

Load resources (or images) from various sources.

Logging API as a whole was originally done for Apache log4j. Juli is a port of main parts of that to complete the Java Logging APIs. All credits for initial idea, design, implementation, documentation belong to the log4j crew. This file was originally published by Ceki Gülcü. Please use exclusively the appropriate mailing lists for questions, remarks and contribution.

Since:
0.5
Author:
Boris Unckel

Constructor Summary
private Loader()
          No instanciation wanted.
 
Method Summary
static java.net.URL getResource(java.lang.String resource)
          This method will search for resource in different places.
private static java.lang.ClassLoader getTCL()
          Get the Thread Context Loader which is a JDK 1.2 feature.
static java.lang.Class loadClass(java.lang.String clazz)
          If running under JDK 1.2 load the specified class using the Thread contextClassLoader if that fails try Class.forname.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Loader

private Loader()
No instanciation wanted.

Method Detail

getResource

public static java.net.URL getResource(java.lang.String resource)
This method will search for resource in different places. The rearch order is as follows:

  1. Search for resource using the thread context class loader under Java2. This step is performed only if the skipTCL parameter is false.
  2. If the aboved step failed, search for resource using the class loader that loaded this class (Loader).
  3. Try one last time with ClassLoader.getSystemResource(resource), that is is using the system class loader in JDK 1.2 and virtual machine's built-in class loader in JDK 1.1.

Parameters:
resource - to find.
Returns:
the url of the resource.

loadClass

public static java.lang.Class loadClass(java.lang.String clazz)
                                 throws java.lang.ClassNotFoundException
If running under JDK 1.2 load the specified class using the Thread contextClassLoader if that fails try Class.forname. Under JDK 1.1 only Class.forName is used.

Parameters:
clazz - to load.
Returns:
the class object.
Throws:
java.lang.ClassNotFoundException - if class was not found in the contextClassLoader.

getTCL

private static java.lang.ClassLoader getTCL()
Get the Thread Context Loader which is a JDK 1.2 feature. If we are running under JDK 1.1 or anything else goes wrong the method returns null.

Returns:
the classloader of the current Thread.


${license_html}