home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Java / Java.zip / mqaoad21.zip / ExtURLClassLoader.java < prev    next >
Text File  |  2002-12-19  |  2KB  |  100 lines

  1. package com.ibm.extricity.adapters.mqseries.mqak;
  2.  
  3. /**
  4.  * Insert the type's description here.
  5.  * Creation date: (11/14/00 9:59:44 AM)
  6.  * @author: Administrator
  7.  */
  8. import java.io.*;
  9. import java.net.URL;
  10. import java.net.URLClassLoader;
  11.  
  12. public class ExtURLClassLoader extends java.net.URLClassLoader
  13. {
  14.    protected boolean _DEBUG = true;
  15.    private ClassLoader fallback;
  16.  
  17. /**
  18.  * ExtURLClassLoader constructor comment.
  19.  * @param urls java.net.URL[]
  20.  */
  21. public ExtURLClassLoader(java.net.URL[] urls)
  22. {
  23.    super(urls,null);
  24.    fallback = this.getClass().getClassLoader();
  25. }
  26.  
  27. /**
  28.  * ExtURLClassLoader constructor comment.
  29.  * @param urls java.net.URL[]
  30.  * @param parent java.lang.ClassLoader
  31.  */
  32. public ExtURLClassLoader(java.net.URL[] urls, ClassLoader parent)
  33. {
  34.    super(urls, null);
  35.    fallback = parent;
  36.    //fallback.
  37. }
  38.  
  39. /**
  40.  * ExtURLClassLoader constructor comment.
  41.  * @param urls java.net.URL[]
  42.  * @param parent java.lang.ClassLoader
  43.  * @param factory java.net.URLStreamHandlerFactory
  44.  */
  45. public ExtURLClassLoader(java.net.URL[] urls, ClassLoader parent, java.net.URLStreamHandlerFactory factory)
  46. {
  47.    super(urls, null, factory);
  48.    fallback = parent;
  49. }
  50.  
  51. /**
  52.  * Insert the method's description here.
  53.  * Creation date: (11/14/00 10:08:27 AM)
  54.  * @return java.lang.Class
  55.  * @param className java.lang.String
  56.  */
  57. protected Class findClass(String className) throws ClassNotFoundException
  58. {
  59.    if(_DEBUG)
  60.    {
  61.       System.out.println(">>>>Loading Class: "+className);
  62.    }
  63.    try
  64.    {
  65.       if( (className.compareTo("com.ibm.extricity.adapters.mqseries.mqak.MQAOAdapterHelperInt") == 0) ||
  66.           (className.compareTo("com.ibm.extricity.adapters.mqseries.mqak.MQAOExceptionLogExt") == 0)  ||
  67.           (className.compareTo("com.ibm.extricity.adapters.mqseries.mqak.ProcessDataInt") == 0) )
  68.       {
  69.          {
  70.             if(_DEBUG)
  71.             {
  72.                System.out.println("    >>>>Forced fallback for Class: "+className);
  73.             }
  74.             return fallback.loadClass(className);
  75.          }
  76.       }
  77.       else
  78.       {
  79.          return super.findClass(className);
  80.       }
  81.    }
  82.    catch(ClassNotFoundException e)
  83.    {
  84.       if(_DEBUG)
  85.       {
  86.          System.out.println("    >>>>Fallback for Class: "+className);
  87.       }
  88.       return fallback.loadClass(className);
  89.    }
  90.    catch(Exception e)
  91.    {
  92.       if(_DEBUG)
  93.       {
  94.          System.out.println("    >>>>Exception: "+e.toString());
  95.       }
  96.       e.printStackTrace();
  97.       return fallback.loadClass(className);
  98.    }
  99. }
  100. }