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

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

?? repositoryclassloader.java

?? jsr170接口的java實現(xiàn)。是個apache的開源項目。
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
        }        return null;    }    /**     * Returns an Enumeration of URLs representing all of the resources     * on the search path having the specified name.     *     * @param name the resource name     *     * @return an <code>Enumeration</code> of <code>URL</code>s. This is an     *      empty enumeration if no resources are found by this class loader     *      or if this class loader has already been destroyed.     */    public Enumeration findResources(String name) {        if (isDestroyed()) {            log.warn("Destroyed class loader cannot find resources");            return new Enumeration() {                public boolean hasMoreElements() {                    return false;                }                public Object nextElement() {                    throw new NoSuchElementException("No Entries");                }            };        }        log.debug("findResources: Try to find resources for {}", name);        List list = new LinkedList();        for (int i=0; i < repository.length; i++) {            final ClassPathEntry cp = repository[i];            log.debug("findResources: Trying {}", cp);            ClassLoaderResource res = cp.getResource(name);            if (res != null) {                log.debug("findResources: Adding resource from {}, created {}",                    res, new Date(res.getLastModificationTime()));                URL url = res.getURL();                if (url != null) {                    list.add(url);                }            }        }        // return the enumeration on the list        return Collections.enumeration(list);    }    /**     * Returns the search path of URLs for loading classes and resources.     * This includes the original list of URLs specified to the constructor,     * along with any URLs subsequently appended by the {@link #addURL(URL)}     * and {@link #addHandle(String)} methods.     *     * @return the search path of URLs for loading classes and resources. The     *      list is empty, if this class loader has already been destroyed.     */    public URL[] getURLs() {        if (isDestroyed()) {            log.warn("Destroyed class loader has no URLs any more");            return new URL[0];        }        List urls = new ArrayList();        for (int i=0; i < repository.length; i++) {            URL url = repository[i].toURL();            if (url != null) {                urls.add(url);            }        }        return (URL[]) urls.toArray(new URL[urls.size()]);    }    /**     * Appends the specified URL to the list of URLs to search for     * classes and resources. Only Repository URLs with the protocol set to     * <code>JCR</code> are considered for addition. The system will find out     * whether the URL points to a directory or a jar archive.     * <p>     * URLs added using this method will be preserved through reconfiguration     * and reinstantiation.     * <p>     * If this class loader has already been destroyed this method has no     * effect.     *     * @param url the <code>JCR</code> URL to be added to the search path of     *      URLs.     */    protected void addURL(URL url) {        if (isDestroyed()) {            log.warn("Cannot add URL to destroyed class loader");        } else if (checkURL(url)) {            // Repository URL            log.debug("addURL: Adding URL {}", url);            try {                JCRURLConnection conn = (JCRURLConnection) url.openConnection();                ClassPathEntry cp = ClassPathEntry.getInstance(                    conn.getSession(), conn.getPath());                addClassPathEntry(cp);            } catch (IOException ioe) {                log.warn("addURL: Cannot add URL " + url, ioe);            }        } else {            log.warn("addURL: {} is not a Repository URL, ignored", url);        }    }    /**     * Appends the specified path to the list of handles to search for classes     * and resources. The system will find out whether the path points to a     * directory or a JAR or ZIP archive. The path is added as is, provided it     * is valid to be used in the class path and therefore must not contain any     * globbing characters.     * <p>     * If this class loader has already been destroyed, this method has no     * effect.     *     * @param path The path to be added to the search path.     */    public void addHandle(String path) {        if (isDestroyed()) {            log.warn("Cannot add handle to destroyed class loader");            return;        }        log.debug("addURL: Adding Handle {}", path);        ClassPathEntry cp = ClassPathEntry.getInstance(session, path);        if (cp != null) {            addClassPathEntry(cp);        } else {            log.debug("addHandle: Cannot get a ClassPathEntry for {}", path);        }    }    //---------- Property access ----------------------------------------------    /**     * Sets the {@link PatternPath} list to be used as the initial search     * path of this class loader. This new list replaces the path pattern list     * set in the constructor or in a previous call to this method.     * <p>     * After setting the list, this class loader's class path has to be rebuilt     * by calling the {@link #buildRepository()} method.     *     * @param handles The {@link PatternPath} to set on this class loader.     */    /* package */ void setHandles(PatternPath handles) {        this.handles = handles;    }    /**     * Returns the current {@link PatternPath} from which the search path     * of this class loader is configured.     */    /* package */ PatternPath getHandles() {        return handles;    }    /**     * Returns the named {@link ClassLoaderResource} if it is contained in the     * cache. If the resource does not exist in the cache or has not been found     * in the class path at an earlier point in time, <code>null</code> is     * returned.     *     * @param name The name of the resource to retrieve from the cache.     *     * @return The named <code>ClassLoaderResource</code> or <code>null</code>     *      if not loaded.     *     * @throws NullPointerException If this class loader has already been     *      destroyed.     */    /* package */ ClassLoaderResource getCachedResource(String name) {        Object res = cache.get(name);        if (res == null || res == NOT_FOUND_RESOURCE) {            log.debug("Resource {} not cached", name);            return null;        }        return (ClassLoaderResource) res;    }    /**     * Returns an <code>Iterator</code> on all resources in the cache. This     * iterator may also contain {@link #NOT_FOUND_RESOURCE sentinel} entries     * for resources, which failed to load. Callers of this method should take     * care to filter out such resources before acting on it.     *     * @throws NullPointerException If this class loader has already been     *      destroyed.     */    /* package */ Iterator getCachedResources() {        return cache.values().iterator();    }    /**     * Removes all entries from the cache of loaded resources, which mark     * resources, which have not been found as of yet.     *     * @throws NullPointerException If this class loader has already been     *      destroyed.     */    protected void cleanCache() {        for (Iterator ci=cache.values().iterator(); ci.hasNext(); ) {            if (ci.next() == NOT_FOUND_RESOURCE) {                ci.remove();            }        }    }    /**     * Returns <code>true</code>, if the cache is not empty. If the     * {@link #cleanCache()} method is not called before calling this method, a     * false positive result may be returned.     *     * @throws NullPointerException If this class loader has already been     *      destroyed.     */    protected boolean hasLoadedResources() {        return cache.isEmpty();    }    /**     * Returns the session used by this class loader to access the repository.     * If this class loader has already been destroyed, this <code>null</code>     * is returned.     */    protected Session getSession() {        return session;    }    /**     * Sets the current active class path to the list of class path entries.     */    protected void setRepository(ClassPathEntry[] classPath) {        this.repository = classPath;    }    /**     * Returns the current active class path entries list or <code>null</code>     * if this class loader has already been destroyed.     */    protected ClassPathEntry[] getRepository() {        return repository;    }    /**     * Adds the class path entry to the current class path list. If the class     * loader has already been destroyed, this method creates a single entry     * class path list with the new class path entry.     */    protected void addClassPathEntry(ClassPathEntry cpe) {        log.debug("addHandle: Adding path {}", cpe.getPath());        // append the entry to the current class path        ClassPathEntry[] oldClassPath = getRepository();        ClassPathEntry[] newClassPath = addClassPathEntry(oldClassPath, cpe);        setRepository(newClassPath);    }    /**     * Helper method for class path handling to a new entry to an existing     * list and return the new list.     * <p>     * If <code>list</code> is <code>null</code> a new array is returned with     * a single element <code>newEntry</code>. Otherwise the array returned     * contains all elements of <code>list</code> and <code>newEntry</code>     * at the last position.     *     * @param list The array of class path entries, to which a new entry is     *      to be appended. This may be <code>null</code>.     * @param newEntry The new entry to append to the class path list.     *     * @return The extended class path list.     */    protected ClassPathEntry[] addClassPathEntry(ClassPathEntry[] list,            ClassPathEntry newEntry) {        // quickly define single entry array for the first entry        if (list == null) {            return new ClassPathEntry[]{ newEntry };        }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区在线播放视频| 欧美三级日韩在线| 亚洲激情欧美激情| 日韩精品资源二区在线| 97se亚洲国产综合自在线| 日本不卡一区二区三区高清视频| 中文无字幕一区二区三区| 欧美一区二区在线不卡| 色综合亚洲欧洲| 国产精品香蕉一区二区三区| 亚洲国产一区在线观看| 国产精品久久久久久久久久免费看 | 福利视频网站一区二区三区| 午夜精品福利一区二区蜜股av| 国产精品久久久久aaaa樱花| 精品国产凹凸成av人网站| 欧美日韩国产影片| 一本高清dvd不卡在线观看| 国产剧情一区二区| 久久www免费人成看片高清| 亚洲成av人片一区二区梦乃| 综合久久国产九一剧情麻豆| 国产午夜精品福利| 日韩欧美国产精品| 555www色欧美视频| 欧美性极品少妇| 色综合天天综合网国产成人综合天| 国产精品一区二区不卡| 久久成人av少妇免费| 日本视频一区二区三区| 视频精品一区二区| 日韩精品三区四区| 偷拍日韩校园综合在线| 性做久久久久久久久| 亚洲国产aⅴ天堂久久| 亚洲女爱视频在线| 亚洲六月丁香色婷婷综合久久| 中文字幕在线观看一区| 日韩黄色一级片| 亚洲大型综合色站| 天天色天天操综合| 日本aⅴ精品一区二区三区| 婷婷国产v国产偷v亚洲高清| 日韩国产欧美在线播放| 蜜桃av一区二区三区| 国内欧美视频一区二区 | 久色婷婷小香蕉久久| 日韩在线a电影| 久久99精品久久只有精品| 狠狠狠色丁香婷婷综合激情| 精品亚洲免费视频| 国产一区高清在线| 丰满少妇久久久久久久| 成人永久免费视频| 91老师片黄在线观看| 91国偷自产一区二区三区成为亚洲经典| 99re热这里只有精品免费视频 | 色综合视频在线观看| 91国产免费看| 91精品国产综合久久久久久漫画 | 日韩黄色免费网站| 韩国一区二区三区| 成人午夜免费视频| 在线国产亚洲欧美| 日韩三区在线观看| 中文字幕欧美日韩一区| 亚洲老司机在线| 日本在线不卡一区| 豆国产96在线|亚洲| 在线观看精品一区| 日韩亚洲欧美中文三级| 中文字幕精品一区| 亚洲一二三区不卡| 制服丝袜激情欧洲亚洲| 欧美xfplay| 中文字幕一区二区三区蜜月| 亚洲综合激情网| 激情小说亚洲一区| 97久久精品人人做人人爽50路| 欧美日韩在线三区| 久久久久久久国产精品影院| 亚洲欧美另类在线| 九九视频精品免费| 日本精品一区二区三区四区的功能| 91精品国产美女浴室洗澡无遮挡| 久久久久久久综合色一本| 亚洲欧美激情视频在线观看一区二区三区 | 欧美精品日韩综合在线| 国产欧美日韩另类一区| 午夜天堂影视香蕉久久| 国产成人a级片| 欧美巨大另类极品videosbest| 久久久久久久久蜜桃| 图片区小说区国产精品视频 | 欧美猛男gaygay网站| wwwwww.欧美系列| 性欧美疯狂xxxxbbbb| 国产99久久久国产精品潘金网站| 欧美日韩综合在线| 国产精品美女久久久久久久久久久 | 91视频国产资源| 久久久久久久久久久久久久久99 | 国产精品色哟哟| 蜜臀av性久久久久蜜臀aⅴ四虎 | 成人免费视频app| 欧美一级夜夜爽| 亚洲一区在线观看视频| 国产v综合v亚洲欧| 日韩精品一区二区三区在线 | 欧美三级视频在线| 国产精品―色哟哟| 激情深爱一区二区| 欧美乱妇20p| 亚洲一区二区成人在线观看| 99riav一区二区三区| 国产调教视频一区| 国产综合久久久久久久久久久久| 欧美乱妇15p| 亚洲电影在线免费观看| 色婷婷综合久久| 中文字幕亚洲欧美在线不卡| 国产成人精品在线看| 欧美精品一区二| 蜜桃av一区二区三区电影| 欧美二区三区的天堂| 亚洲国产一区二区三区青草影视| 91猫先生在线| 亚洲品质自拍视频网站| aaa欧美色吧激情视频| 国产精品免费视频观看| 懂色av中文字幕一区二区三区 | 国产精品女同一区二区三区| 国产呦精品一区二区三区网站| 日韩欧美一区二区视频| 奇米影视一区二区三区| 91麻豆精品国产91久久久使用方法| 亚洲国产一区二区视频| 欧美性猛片aaaaaaa做受| 亚洲一区二区精品3399| 欧美日韩成人在线一区| 日本视频一区二区| 日韩一区二区三区视频| 久久草av在线| 久久久综合视频| 不卡av在线免费观看| 综合激情网...| 欧美日韩一区中文字幕| 日韩av电影天堂| 精品久久久久久久久久久久久久久久久| 久久国产精品99久久久久久老狼| 精品欧美黑人一区二区三区| 国产精品一区二区在线播放| 欧美国产激情一区二区三区蜜月| 99久久99久久综合| 亚洲综合久久久久| 欧美一区二区播放| 国产一区二区视频在线| 久久av资源站| 国产日产精品1区| 色综合欧美在线视频区| 五月婷婷久久丁香| 精品国产一区二区在线观看| 成人性生交大片免费看中文| 一区二区三区久久久| 制服视频三区第一页精品| 国产乱理伦片在线观看夜一区| 国产精品国产三级国产普通话蜜臀 | 欧美福利视频导航| 精品一区二区三区久久| 国产精品色哟哟| 欧美日韩国产影片| 国产一区999| 亚洲精品成a人| 欧美成人欧美edvon| av高清久久久| 免费在线观看一区二区三区| 国产精品伦理一区二区| 欧美羞羞免费网站| 国产一区欧美一区| 一区二区三区四区精品在线视频| 日韩一级黄色大片| 99精品欧美一区| 久久成人av少妇免费| 亚洲女人****多毛耸耸8| 欧美一区二区三区四区视频| voyeur盗摄精品| 免费欧美日韩国产三级电影| 亚洲欧洲一区二区三区| 91精品国产欧美一区二区18| www.亚洲激情.com| 美女诱惑一区二区| 一区二区三区高清| 久久精品视频一区| 欧美精品在线视频| 成人福利视频在线看| 美女www一区二区| 一区二区三区日韩精品| 久久免费看少妇高潮| 欧美视频在线观看一区| 成人av午夜电影|