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

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

?? proxygeneratortask.java

?? 一個java方面的消息訂閱發(fā)送的源碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
     * @param reference the reference
     */
    public void setClasspathRef(Reference reference) {
        createClasspath().setRefid(reference);
    }

    /**
     * Returns the classpath.
     *
     * @return the classpath
     */
    public Path getClasspath() {
        return _compileClasspath;
    }

    /**
     * Execute the task.
     *
     * @throws BuildException if the build fails
     */
    public void execute() throws BuildException {
        if (_base == null) {
            throw new BuildException("base attribute must be set!", location);
        }
        if (!_base.exists()) {
            throw new BuildException("base does not exist", location);
        }
        if (!_base.isDirectory()) {
            throw new BuildException("base is not a directory", location);
        }

        if (_sourceBase != null) {
            if (!_sourceBase.exists()) {
                throw new BuildException("sourceBase does not exist",
                                         location);
            }
            if (!_sourceBase.isDirectory()) {
                throw new BuildException("sourceBase is not a directory",
                                         location);
            }
        } else {
            _sourceBase = _base;
        }

        String[] files;
        String[] generateList;

        if (_classname == null) {
            // scan base dir to build up generation lists only if a
            // specific classname is not given
            DirectoryScanner scanner = getDirectoryScanner(_base);
            files = scanner.getIncludedFiles();
        } else {
            // otherwise perform a timestamp comparison - at least
            files = new String[]{
                _classname.replace('.', File.separatorChar) + ".class"};
        }
        generateList = scanDir(files);

        int count = generateList.length;
        if (count > 0) {
            log("Generating " + count + " prox" + (count > 1 ? "ies" : "y")
                + " to " + _base, Project.MSG_INFO);

            Path classpath = getCompileClasspath();
            AntClassLoader loader = new AntClassLoader(project, classpath);

            for (int i = 0; i < count; ++i) {
                generate(generateList[i], loader);
            }

            Javac javac = new Javac();
            javac.setProject(project);
            javac.createSrc().setLocation(_sourceBase);
            javac.setDestdir(_base);
            javac.setDebug(_debug);
            javac.setClasspath(classpath);
            javac.execute();
        }
    }

    /**
     * Helper class for specifying nested ThrowableAdapter implementations.
     */
    public static final class Adapter {

        /**
         * The class name.
         */
        private String _classname;

        /**
         * Sets the adapter class name.
         *
         * @param classname the adapter class name
         */
        public void setClassname(String classname) {
            _classname = classname;
        }

        /**
         * Returns the adapter class name.
         *
         * @return the adapter class name
         */
        public String getClassname() {
            return _classname;
        }
    }

    /**
     * Generate the proxy source.
     *
     * @param classname the name of the class
     * @param loader    the classloader to locate the class and its
     *                  dependencies
     * @return the path of the generated source
     * @throws BuildException if the source generation fails
     */
    protected String generate(String classname, ClassLoader loader)
            throws BuildException {

        String path = classname.replace('.', File.separatorChar)
                + "__Proxy.java";
        File file = new File(_sourceBase, path);
        File parent = file.getParentFile();
        if (parent.exists()) {
            if (!parent.isDirectory()) {
                throw new BuildException("Cannot generate sources to "
                                         + parent
                                         + ": path is not a directory", location);
            }
        } else if (!parent.mkdirs()) {
            throw new BuildException("Failed to create directory " + parent,
                                     location);
        }

        log("Generating proxy " + file, Project.MSG_DEBUG);

        FileOutputStream stream = null;
        try {
            stream = new FileOutputStream(file);
            Class clazz = loader.loadClass(classname);
            Class[] adapters = getAdapters(loader);
            ProxyGenerator generator = new ProxyGenerator(clazz, adapters);
            generator.generate(stream);
            stream.close();
        } catch (ClassNotFoundException exception) {
            throw new BuildException("proxygen failed - class not found: "
                                     + exception.getMessage(), exception,
                                     location);
        } catch (IOException exception) {
            throw new BuildException(
                    "proxygen failed - I/O error: " + exception.getMessage(),
                    exception, location);
        } catch (Exception exception) {
            throw new BuildException(
                    "proxygen failed: " + exception.getMessage(),
                    exception, location);
        } finally {
            if (stream != null) {
                try {
                    stream.close();
                } catch (IOException exception) {
                    throw new BuildException("proxygen failed - I/O error: "
                                             + exception.getMessage(),
                                             exception, location);
                }
            }
        }
        return path;
    }

    /**
     * Returns the class path for compilation.
     *
     * @return the compilation classpath
     */
    protected Path getCompileClasspath() {
        Path classpath = new Path(project);

        // add dest dir to classpath so that previously compiled and
        // untouched classes are on classpath
        classpath.setLocation(_base);

        if (getClasspath() == null) {
            classpath.addExisting(Path.systemClasspath);
        } else {
            classpath.addExisting(getClasspath().concatSystemClasspath("last"));
        }

        return classpath;
    }

    /**
     * Scans the base directory looking for class files to generate proxies
     * for.
     *
     * @param files the file paths
     * @return a list of class names to generate proxies for
     */
    protected String[] scanDir(String[] files) {
        ArrayList result = new ArrayList();
        String[] newFiles = files;

        SourceFileScanner scanner = new SourceFileScanner(this);
        FileNameMapper mapper = new GlobPatternMapper();
        mapper.setFrom("*.class");
        mapper.setTo("*__Proxy.java");
        newFiles = scanner.restrict(files, _base, _sourceBase, mapper);

        for (int i = 0; i < newFiles.length; i++) {
            String classname = newFiles[i].replace(File.separatorChar, '.');
            classname = classname.substring(0, classname.lastIndexOf(".class"));
            result.add(classname);
        }
        return (String[]) result.toArray(new String[0]);
    }

    /**
     * Returns the adapter classes.
     *
     * @param loader the class loader to use
     * @return the adapter classes
     * @throws ClassNotFoundException if an adapter class can't be found
     */
    private Class[] getAdapters(ClassLoader loader)
            throws ClassNotFoundException {
        Class[] result = new Class[_adapters.size()];
        Iterator iterator = _adapters.iterator();
        for (int i = 0; iterator.hasNext(); ++i) {
            String classname = (String) iterator.next();
            Class adapter = loader.loadClass(classname);
            result[i] = adapter;
        }
        return result;
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美综合色免费| 久久久激情视频| 久久美女艺术照精彩视频福利播放 | 精品一区二区三区视频| 91丨九色丨蝌蚪丨老版| 欧美成人性福生活免费看| 一区二区三区产品免费精品久久75| 奇米影视7777精品一区二区| 91色综合久久久久婷婷| 亚洲国产精品激情在线观看 | 中文字幕在线不卡视频| 另类小说图片综合网| 一本大道久久a久久精二百| 日本一区免费视频| 韩国三级电影一区二区| 日韩一区二区三区视频在线观看| 亚洲精品网站在线观看| 丁香婷婷综合色啪| 久久久久久免费网| 国产一区二区三区在线观看免费| 欧美一级生活片| 五月综合激情日本mⅴ| 日本伦理一区二区| 亚洲免费看黄网站| 91亚洲资源网| 亚洲精品久久7777| 91精品办公室少妇高潮对白| 亚洲天堂久久久久久久| 成人动漫av在线| 国产精品久久久久久久午夜片| 国产一区二区免费看| 久久免费精品国产久精品久久久久| 免费成人av在线| 日韩午夜电影在线观看| 精品亚洲成a人| 久久午夜电影网| 国产成人aaa| 国产精品网友自拍| 色综合中文字幕| 亚洲国产成人91porn| 欧美人与z0zoxxxx视频| 午夜精彩视频在线观看不卡| 欧美日韩不卡一区二区| 免费不卡在线观看| 久久久精品免费免费| 成人av电影免费观看| 亚洲黄网站在线观看| 欧美日本在线视频| 久国产精品韩国三级视频| 欧美videofree性高清杂交| 国产精品一品视频| 亚洲天堂网中文字| 91精品国产aⅴ一区二区| 国产综合久久久久久鬼色| 国产精品久久久久毛片软件| 在线观看免费视频综合| 久久精品国产成人一区二区三区| 久久久久久久久99精品| 97久久久精品综合88久久| 午夜精品一区在线观看| 久久精品亚洲国产奇米99| 91尤物视频在线观看| 免费久久精品视频| 一区在线观看视频| 欧美一区午夜视频在线观看| 国产成人免费av在线| 亚洲午夜一区二区| 国产亚洲一区二区在线观看| 在线亚洲免费视频| 国产一区二区久久| 婷婷久久综合九色综合伊人色| 精品不卡在线视频| 在线亚洲人成电影网站色www| 美女免费视频一区| 一区二区在线观看av| 欧美精品一区视频| 欧美另类变人与禽xxxxx| 国产福利精品一区| 日韩精品91亚洲二区在线观看| 欧美激情综合五月色丁香小说| 欧美日韩免费高清一区色橹橹| 国产成人亚洲综合a∨婷婷图片| 亚洲精品国产无套在线观| 久久久美女毛片| 欧美日韩国产一区二区三区地区| 大桥未久av一区二区三区中文| 日韩电影免费在线看| 亚洲黄色尤物视频| 中文一区二区完整视频在线观看| 日韩无一区二区| 欧美日韩午夜影院| 一本色道亚洲精品aⅴ| 国产成人啪免费观看软件| 热久久久久久久| 亚洲自拍另类综合| 亚洲激情av在线| 日韩毛片精品高清免费| 国产亚洲美州欧州综合国| 91精品国产综合久久久久| 欧美视频在线观看一区二区| 91在线视频免费91| av福利精品导航| 成人午夜av电影| 国产成人精品www牛牛影视| 精品中文字幕一区二区小辣椒| 日一区二区三区| 亚洲成在人线免费| 亚洲午夜三级在线| 亚洲成av人片一区二区三区| 一个色综合av| 艳妇臀荡乳欲伦亚洲一区| 亚洲免费观看视频| 夜夜夜精品看看| 亚洲高清一区二区三区| 亚洲成在人线在线播放| 五月激情六月综合| 日日嗨av一区二区三区四区| 亚洲电影你懂得| 日韩精彩视频在线观看| 日本91福利区| 精品一区二区三区免费| 精品一区二区三区影院在线午夜| 韩国中文字幕2020精品| 国产在线不卡一卡二卡三卡四卡| 久草在线在线精品观看| 国产精一区二区三区| 成人av资源在线| 91老司机福利 在线| 欧美日韩在线观看一区二区 | 亚洲国产成人tv| 日韩av一级电影| 国内精品久久久久影院薰衣草 | 99r精品视频| 在线亚洲+欧美+日本专区| 欧美日韩国产中文| 日韩精品一区二区在线观看| 国产喂奶挤奶一区二区三区| 国产精品久久久久7777按摩| 亚洲精品大片www| 日本美女视频一区二区| 国产乱码一区二区三区| 色香色香欲天天天影视综合网| 欧美三级三级三级爽爽爽| 精品国精品国产| 亚洲视频香蕉人妖| 美日韩一区二区| 不卡在线观看av| 欧美一区二区视频观看视频| 久久久久久久久久久电影| 亚洲制服欧美中文字幕中文字幕| 日韩福利电影在线| 成人精品高清在线| 欧美精品第一页| 日本一二三不卡| 免费观看日韩电影| 97se狠狠狠综合亚洲狠狠| 91精品国产美女浴室洗澡无遮挡| 国产欧美一区二区精品婷婷| 亚洲成人免费av| 粉嫩av一区二区三区在线播放| 欧美人狂配大交3d怪物一区| 欧美国产日产图区| 免费观看一级特黄欧美大片| 91一区二区三区在线观看| 精品成人在线观看| 偷拍亚洲欧洲综合| 91麻豆国产自产在线观看| 精品国产91久久久久久久妲己| 一区二区三区四区高清精品免费观看 | 国产 欧美在线| 884aa四虎影成人精品一区| 亚洲欧洲成人自拍| 国产在线精品一区二区不卡了| 日本韩国欧美一区二区三区| 久久影院午夜片一区| 日本美女视频一区二区| 在线视频欧美区| 中文字幕亚洲一区二区av在线| 精品一区二区三区免费视频| 欧美久久久久免费| 亚洲综合精品久久| 91网站黄www| 国产精品久久二区二区| 国产在线视频一区二区| 日韩一级欧美一级| 亚洲va天堂va国产va久| 在线观看国产91| 亚洲色图一区二区三区| 99国产精品国产精品毛片| 欧美经典一区二区| 国产成人午夜视频| 国产亚洲精品资源在线26u| 狠狠色丁香久久婷婷综合_中| 欧美一区二区精品| 日韩成人一级大片| 日韩欧美另类在线| 黄页网站大全一区二区| 2020国产精品| 国产成人免费视频一区| 中文一区二区完整视频在线观看 |