⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 generatorclassloader.java

📁 数据仓库工具
💻 JAVA
字号:
/*
     LoaderGenerator - tool for generated xml, sql and doml file needed for Octopus.
    Copyright (C) 2003  Together
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.
    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.
    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */


package org.webdocwf.util.loader.generator;

import java.io.*;
import java.net.*;
import java.lang.reflect.*;

/**
 *
 * GeneratorClassLoader class load new files into class loader
 * @author Radoslav Dutina
 * @version 1.0
 */
public class GeneratorClassLoader {

  private static final Class[] parameters = new Class[] {
      URL.class};

  /**
   * This methdod adding the file object to class loader
   * @param s defines the string representation of file path
   * @throws IOException
   */
  public static void addFile(String s) throws IOException {

    File f = new File(s);

    addFile(f);

  } //end method

  /**
   * This method adding the file object to class loader
   * @param f defines the url of file object
   * @throws IOException
   */
  public static void addFile(File f) throws IOException {

    addURL(f.toURL());

  } //end method

  /**
   * This method adding the file object to class loader
   * @param u defines the url object
   * @throws IOException
   */
  public static void addURL(URL u) throws IOException {

    URLClassLoader sysloader = (URLClassLoader) ClassLoader.
        getSystemClassLoader();

    Class sysclass = URLClassLoader.class;

    try {

      Method method = sysclass.getDeclaredMethod("addURL", parameters);

      method.setAccessible(true);

      method.invoke(sysloader, new Object[] {u});

    }
    catch (Throwable t) {

      t.printStackTrace();

      throw new IOException("Error, could not add URL to system classloader");

    } //end try catch

  } //end method

} //end class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -