亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cascadingclassloadhelper.java

?? Java中非常實用流控制工具
?? JAVA
字號:
/* 
 * Copyright 2004-2005 OpenSymphony 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */

/*
 * Previously Copyright (c) 2001-2004 James House
 */
package org.quartz.simpl;

import java.util.Iterator;
import java.util.LinkedList;
import java.net.URL;
import java.io.InputStream;

import org.quartz.spi.ClassLoadHelper;

/**
 * A <code>ClassLoadHelper</code> uses all of the <code>ClassLoadHelper</code>
 * types that are found in this package in its attempts to load a class, when
 * one scheme is found to work, it is promoted to the scheme that will be used
 * first the next time a class is loaded (in order to improve performance).
 * 
 * <p>
 * This approach is used because of the wide variance in class loader behavior
 * between the various environments in which Quartz runs (e.g. disparate 
 * application servers, stand-alone, mobile devices, etc.).  Because of this
 * disparity, Quartz ran into difficulty with a one class-load style fits-all 
 * design.  Thus, this class loader finds the approach that works, then 
 * 'remembers' it.  
 * </p>
 * 
 * @see org.quartz.spi.ClassLoadHelper
 * @see org.quartz.simpl.LoadingLoaderClassLoadHelper
 * @see org.quartz.simpl.SimpleClassLoadHelper
 * @see org.quartz.simpl.ThreadContextClassLoadHelper
 * @see org.quartz.simpl.InitThreadContextClassLoadHelper
 * 
 * @author jhouse
 * @author pl47ypus
 */
public class CascadingClassLoadHelper implements ClassLoadHelper {

    
    /*
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     * 
     * Data members.
     * 
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     */

    private LinkedList loadHelpers;

    private ClassLoadHelper bestCandidate;

    /*
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     * 
     * Interface.
     * 
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     */

    /**
     * Called to give the ClassLoadHelper a chance to initialize itself,
     * including the opportunity to "steal" the class loader off of the calling
     * thread, which is the thread that is initializing Quartz.
     */
    public void initialize() {
        loadHelpers = new LinkedList();

        loadHelpers.add(new LoadingLoaderClassLoadHelper());
        loadHelpers.add(new SimpleClassLoadHelper());
        loadHelpers.add(new ThreadContextClassLoadHelper());
        loadHelpers.add(new InitThreadContextClassLoadHelper());
        
        Iterator iter = loadHelpers.iterator();
        while (iter.hasNext()) {
            ClassLoadHelper loadHelper = (ClassLoadHelper) iter.next();
            loadHelper.initialize();
        }
    }

    /**
     * Return the class with the given name.
     */
    public Class loadClass(String name) throws ClassNotFoundException {

        if (bestCandidate != null) {
            try {
                return bestCandidate.loadClass(name);
            } catch (Exception e) {
                bestCandidate = null;
            }
        }

        ClassNotFoundException cnfe = null;
        Class clazz = null;
        ClassLoadHelper loadHelper = null;

        Iterator iter = loadHelpers.iterator();
        while (iter.hasNext()) {
            loadHelper = (ClassLoadHelper) iter.next();

            try {
                clazz = loadHelper.loadClass(name);
                break;
            } catch (ClassNotFoundException e) {
                cnfe = e;
            }
        }

        if (clazz == null) {
            throw cnfe;
        }

        bestCandidate = loadHelper;

        return clazz;
    }

    /**
     * Finds a resource with a given name. This method returns null if no
     * resource with this name is found.
     * @param name name of the desired resource
     * @return a java.net.URL object
     */
    public URL getResource(String name) {

        if (bestCandidate != null) {
            try {
                return bestCandidate.getResource(name);
            } catch (Exception e) {
                bestCandidate = null;
            }
        }

        URL result = null;
        ClassLoadHelper loadHelper = null;

        Iterator iter = loadHelpers.iterator();
        while (iter.hasNext()) {
            loadHelper = (ClassLoadHelper) iter.next();

            result = loadHelper.getResource(name);
            if (result != null) {
                break;
            }
        }

        bestCandidate = loadHelper;
        return result;

    }

    /**
     * Finds a resource with a given name. This method returns null if no
     * resource with this name is found.
     * @param name name of the desired resource
     * @return a java.io.InputStream object
     */
    public InputStream getResourceAsStream(String name) {

        if (bestCandidate != null) {
            try {
                return bestCandidate.getResourceAsStream(name);
            } catch (Exception e) {
                bestCandidate = null;
            }
        }

        InputStream result = null;
        ClassLoadHelper loadHelper = null;

        Iterator iter = loadHelpers.iterator();
        while (iter.hasNext()) {
            loadHelper = (ClassLoadHelper) iter.next();

            result = loadHelper.getResourceAsStream(name);
            if (result != null) {
                break;
            }
        }

        bestCandidate = loadHelper;
        return result;

    }

    /**
     * Enable sharing of the class-loader with 3rd party (e.g. digester).
     *
     * @return the class-loader user be the helper.
     */
    public ClassLoader getClassLoader() {
        return (this.bestCandidate == null) ?
                Thread.currentThread().getContextClassLoader() :
                this.bestCandidate.getClassLoader();
    }

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产一区二区在线观看| 欧美日韩国产一级| 久久久亚洲综合| 韩国女主播一区| 久久伊人蜜桃av一区二区| 国产一区二区久久| 国产欧美视频在线观看| 99久久精品一区二区| 亚洲精品日韩一| 欧美电影在哪看比较好| 久久99精品久久久久| 亚洲一区二三区| 欧美午夜一区二区三区免费大片| 午夜欧美在线一二页| 日韩美女一区二区三区四区| 从欧美一区二区三区| 国产精品入口麻豆原神| 日本乱人伦aⅴ精品| 亚洲免费av网站| 3d成人动漫网站| 性久久久久久久久| 精品日韩一区二区| a级精品国产片在线观看| 亚洲国产aⅴ天堂久久| 精品国产成人在线影院| 色综合久久99| 久久99精品国产.久久久久久 | 麻豆精品视频在线观看| 国产精品乱码妇女bbbb| 欧美日韩一卡二卡三卡| 国产精品一区二区无线| 亚洲综合成人在线视频| 久久综合久色欧美综合狠狠| 99久久精品免费观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品麻豆一区二区| 91精品婷婷国产综合久久竹菊| 菠萝蜜视频在线观看一区| 首页欧美精品中文字幕| 国产精品灌醉下药二区| 91精品中文字幕一区二区三区| 成人在线一区二区三区| 免费成人在线视频观看| 亚洲精品国产一区二区精华液| 欧美xxxxxxxx| 欧美日韩dvd在线观看| 91麻豆蜜桃一区二区三区| 国产麻豆91精品| 强制捆绑调教一区二区| 伊人婷婷欧美激情| 日本一区二区动态图| 精品国产一区二区在线观看| 欧美男人的天堂一二区| 色悠悠亚洲一区二区| 国产不卡一区视频| 久久精品国产一区二区三 | 亚洲另类在线制服丝袜| 久久蜜桃av一区二区天堂| 欧美色中文字幕| 91蜜桃在线免费视频| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 精品一区二区三区免费播放| 亚洲国产精品久久久久秋霞影院| 中文字幕制服丝袜一区二区三区| 精品国产91九色蝌蚪| 日韩一级视频免费观看在线| 欧美日韩亚洲综合| 在线免费观看日韩欧美| 91丨九色丨蝌蚪丨老版| 99精品一区二区三区| 成人av网站大全| 国产91精品精华液一区二区三区 | 1024精品合集| 欧美激情资源网| 国产欧美综合在线| 久久久蜜桃精品| 久久久精品日韩欧美| 久久影院午夜片一区| 国产日产欧美一区二区三区| 久久香蕉国产线看观看99| 26uuu国产电影一区二区| www国产成人免费观看视频 深夜成人网| 日韩三级高清在线| 精品国产亚洲在线| 国产香蕉久久精品综合网| 中文在线资源观看网站视频免费不卡| 久久久精品国产免费观看同学| 久久久久久久久蜜桃| 国产欧美日韩在线视频| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲国产高清在线观看视频| 亚洲欧洲日韩av| 一区二区高清免费观看影视大全 | 亚洲色图欧洲色图| 亚洲成人激情社区| 老司机免费视频一区二区| 精品无人区卡一卡二卡三乱码免费卡| 国产精品88888| 一道本成人在线| 欧美日本一区二区| 精品粉嫩超白一线天av| 国产精品美女久久久久高潮| 一区二区三区国产精华| 日韩福利视频网| 国产精品99久久久久久久vr | 国产精品国产成人国产三级 | 日韩欧美成人一区| 久久久青草青青国产亚洲免观| 亚洲日本中文字幕区| 日韩高清不卡一区二区| 成人性生交大片免费看视频在线 | 99re66热这里只有精品3直播 | 亚洲va天堂va国产va久| 六月丁香综合在线视频| 成人丝袜18视频在线观看| 欧美在线观看禁18| 久久久久久久久久电影| 中文字幕综合网| 久久国产免费看| 91网站视频在线观看| 日韩欧美亚洲另类制服综合在线| 中文字幕精品一区二区三区精品 | 欧美激情一区二区三区蜜桃视频| 亚洲精品日韩综合观看成人91| 美洲天堂一区二卡三卡四卡视频| 成人性生交大片免费看中文网站| 欧美三级在线视频| 日本一区二区免费在线| 视频一区二区三区在线| caoporen国产精品视频| 欧美一级在线观看| 亚洲永久免费av| 不卡高清视频专区| 精品久久久久久无| 亚洲国产综合91精品麻豆| 丰满少妇久久久久久久| 日韩欧美国产综合| 国产精品一区在线观看你懂的| 欧美色图天堂网| 国产精品久久久久影院亚瑟| 国产真实乱子伦精品视频| 欧美精品一级二级| 有码一区二区三区| 波多野结衣亚洲一区| 久久综合网色—综合色88| 蜜桃久久久久久久| 欧美日韩一区二区三区不卡| 亚洲欧洲日产国码二区| 风间由美一区二区av101| 久久久精品国产99久久精品芒果| 热久久久久久久| 欧美日韩第一区日日骚| 亚洲国产另类av| 一本一道久久a久久精品 | 亚洲免费av网站| 成人av在线影院| 欧美激情综合在线| 国产成人午夜精品5599| 欧美精品一区男女天堂| 黄色小说综合网站| 精品噜噜噜噜久久久久久久久试看| 日韩黄色片在线观看| 欧美日韩黄色一区二区| 亚洲国产精品精华液网站| 色综合久久中文综合久久牛| 亚洲老司机在线| 色综合天天做天天爱| 自拍偷拍亚洲综合| 色综合网站在线| 洋洋成人永久网站入口| 在线观看av一区| 一区二区三区在线影院| 欧洲精品一区二区三区在线观看| 亚洲精品国产精华液| 91久久一区二区| 亚洲国产成人av好男人在线观看| 欧洲av一区二区嗯嗯嗯啊| 亚洲国产aⅴ成人精品无吗| 欧美三级韩国三级日本三斤| 亚洲国产成人av| 欧美成人精品1314www| 久久99精品国产麻豆婷婷洗澡| 久久奇米777| 9i看片成人免费高清| 亚洲欧美日韩精品久久久久| 欧美亚洲日本国产| 日韩中文欧美在线| 欧美精品一区二区在线播放| 成人性生交大片免费看视频在线| 国产精品不卡视频| 7777精品伊人久久久大香线蕉经典版下载 | 精品在线免费视频| 亚洲国产精品激情在线观看| 在线亚洲人成电影网站色www| 亚洲chinese男男1069| 久久综合色婷婷| 91久久精品网| 麻豆精品在线看| 国产精品伦理一区二区| 欧美自拍丝袜亚洲|