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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? schematester.java

?? 對xml很好的java處理引擎,編譯中綁定xml
?? JAVA
字號:
package org.jibx.schema;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.URL;import java.util.ArrayList;import java.util.Arrays;import java.util.Comparator;import java.util.Iterator;import java.util.Set;import org.eclipse.jdt.core.dom.AST;import org.jibx.binding.Loader;import org.jibx.binding.Utility;import org.jibx.binding.classes.BoundClass;import org.jibx.binding.classes.ClassCache;import org.jibx.binding.classes.ClassFile;import org.jibx.binding.classes.MungedClass;import org.jibx.binding.def.BindingDefinition;import org.jibx.extras.DocumentComparator;import org.jibx.runtime.BindingDirectory;import org.jibx.runtime.IBindingFactory;import org.jibx.runtime.IMarshallingContext;import org.jibx.runtime.IUnmarshallingContext;import org.jibx.runtime.JiBXException;import org.jibx.runtime.impl.UnmarshallingContext;import org.jibx.schema.codegen.ClassAssigner;import org.jibx.schema.codegen.NameConverter;import org.jibx.schema.codegen.PackageDirectory;import org.jibx.schema.codegen.PackageHolder;import org.jibx.schema.codegen.ReferenceCountMap;import org.jibx.schema.codegen.UsageFinder;import org.jibx.schema.elements.CommonTypeDefinition;import org.jibx.schema.elements.ElementElement;import org.jibx.schema.elements.SchemaBase;import org.jibx.schema.elements.SchemaElement;import org.jibx.schema.validation.PrevalidationVisitor;import org.jibx.schema.validation.RegistrationVisitor;import org.jibx.schema.validation.ValidationContext;import org.jibx.schema.validation.ValidationProblem;import org.jibx.schema.validation.ValidationVisitor;import org.jibx.util.InsertionOrderedSet;/** * Test class for working with a specified schema. */public class SchemaTester{    private static final String SCHEMA_CLASS =        "org.jibx.schema.elements.SchemaElement";    private static final IBindingFactory m_bindingFactory;    static {        try {                        // set paths to be used for loading referenced classes            URL[] urls = Loader.getClassPaths();            String[] paths = new String[urls.length];            for (int i = 0; i < urls.length; i++) {                paths[i] = urls[i].getFile();            }            ClassCache.setPaths(paths);            ClassFile.setPaths(paths);                        // find the binding definition            ClassLoader loader = SchemaTester.class.getClassLoader();            InputStream is = loader.getResourceAsStream("org/jibx/schema/binding.xml");            if (is == null) {                throw new RuntimeException("Schema binding definition not found");            }                        // process the binding            BoundClass.reset();            MungedClass.reset();            BindingDefinition.reset();            BindingDefinition def = Utility.loadBinding("binding.xml",                "binding", is, null, false);            def.generateCode(false);                        // output the modified class files            MungedClass.fixChanges(true);                        // look up the mapped class and associated binding factory            Class mclas = Class.forName(SCHEMA_CLASS);            m_bindingFactory = BindingDirectory.getFactory(mclas);                    } catch (JiBXException e) {            throw new RuntimeException("JiBXException: " + e.getMessage());        } catch (IOException e) {            throw new RuntimeException("IOException: " + e.getMessage());        } catch (ClassNotFoundException e) {            throw new RuntimeException("ClassNotFoundException: " +                e.getMessage());        }    }        private static void delete(File file) {        if (file.isDirectory()) {            File[] files = file.listFiles();            for (int i = 0; i < files.length; i++) {                delete(files[i]);            }        }        file.delete();    }        /**     * Test a set of schemas.     *     * @param args     * @throws Exception on error     */    public static void main(String[] args) throws Exception {        ValidationContext vctx = new ValidationContext();        File genroot = new File(args[0]);        System.out.println("Generating to output directory " + genroot.getAbsolutePath());        if (genroot.exists()) {            delete(genroot);        }        SchemaElement[] schemas = new SchemaElement[args.length-1];        for (int i = 1; i < args.length; i++) {                        // unmarshal document to construct schema structure            IUnmarshallingContext uctx =                m_bindingFactory.createUnmarshallingContext();            File file = new File(args[i]);            uctx.setDocument(new FileInputStream(file), file.getAbsolutePath(),                null);            uctx.setUserContext(vctx);            Object obj = uctx.unmarshalElement();                        // list validation errors            ArrayList probs = vctx.getProblems();            if (probs.size() > 0) {                for (int j = 0; j < probs.size(); j++) {                    ValidationProblem prob = (ValidationProblem)probs.get(j);                    System.out.print(prob.getSeverity() >=                        ValidationProblem.ERROR_LEVEL ? "Error: " : "Warning: ");                    System.out.println(prob.getDescription());                }            } else {                                // determine encoding of input document                String enc = ((UnmarshallingContext)uctx).getInputEncoding();                if (enc == null) {                    enc = "UTF-8";                }                                // marshal root object back out to document in memory                IMarshallingContext mctx = m_bindingFactory.createMarshallingContext();                ByteArrayOutputStream bos = new ByteArrayOutputStream();                mctx.setIndent(2);                mctx.marshalDocument(obj, enc, null, bos);                                // compare with original input document                InputStreamReader brdr = new InputStreamReader                    (new ByteArrayInputStream(bos.toByteArray()), enc);                InputStreamReader frdr = new InputStreamReader                    (new FileInputStream(args[i]), enc);                DocumentComparator comp = new DocumentComparator(System.err);                if (comp.compare(frdr, brdr)) {                                        // report schema roundtripped successfully                    System.out.println("Roundtripped schema " + args[i]);                                        // set resolver for use during schema processing                    SchemaElement schema = (SchemaElement)obj;                    URL url = new URL("file", "", file.getAbsolutePath());                    schema.setResolver(new UrlResolver(url));                    schemas[i-1] = (SchemaElement)obj;                                    } else {                                        // save file before returning failure                    try {                        File fout = new File("temp.xml");                        fout.delete();                        FileOutputStream fos = new FileOutputStream(fout);                        fos.write(bos.toByteArray());                        fos.close();                    } catch (IOException ex) {                        System.err.println("Error writing to temp.xml: " +                            ex.getMessage());                    }                }            }        }                // validate the schemas and report any problems        TreeWalker wlkr = new TreeWalker(vctx, vctx);        System.out.println("** Beginning prevalidation **");        vctx.clearTraversed();        for (int i = 0; i < schemas.length; i++) {            wlkr.walkSchema(schemas[i], new PrevalidationVisitor(vctx));        }        System.out.println("** Beginning registration **");        vctx.clearTraversed();        for (int i = 0; i < schemas.length; i++) {            wlkr.walkSchema(schemas[i], new RegistrationVisitor(vctx));        }        System.out.println("** Beginning validation **");        vctx.clearTraversed();        for (int i = 0; i < schemas.length; i++) {            wlkr.walkSchema(schemas[i], new ValidationVisitor(vctx));        }        ArrayList probs = vctx.getProblems();        if (probs.size() > 0) {            for (int j = 0; j < probs.size(); j++) {                ValidationProblem prob = (ValidationProblem)probs.get(j);                System.out.print(prob.getSeverity() >=                    ValidationProblem.ERROR_LEVEL ? "Error: " : "Warning: ");                System.out.println(prob.getDescription());            }        }                // check usage of all schema elements        System.out.println("** Beginning full usage counting **");        vctx.clearTraversed();        UsageFinder usage = new UsageFinder();        for (int i = 0; i < schemas.length; i++) {            usage.countSchemaTree(schemas[i]);        }                // report reference counts for entire set of schemas        ReferenceCountMap rcmap = usage.getUsageMap();        System.out.println("** Reference counts across all schemas **");        printReferenceCounts(rcmap);                // check usage of closure from global definitions in top-level schema        System.out.println("** Beginning subset closure usage counting **");        vctx.clearTraversed();        usage = new UsageFinder();        for (int i = 0; i < schemas.length; i++) {            SchemaElement schema = schemas[i];            usage.setNameRegister(schema.getRegister());            usage.addReferenceClosure(schema.getTopLevelChildren());        }                // report reference counts for schema subset        rcmap = usage.getUsageMap();        System.out.println("** Reference counts from schema subset **");        printReferenceCounts(rcmap);                // start with set of all global elements to drive class generation        Set comps = new InsertionOrderedSet();        for (int i = 0; i < schemas.length; i++) {            for (Iterator iter = schemas[i].getTopLevelChildren().iterator();                iter.hasNext();) {                Object child = iter.next();                if (child instanceof ElementElement) {                    comps.add(child);                }            }        }                // add all multiple references to set        for (Iterator iter = rcmap.iterator(); iter.hasNext();) {            SchemaBase key = (SchemaBase)iter.next();            if (rcmap.getCount(key) > 1 &&                !(key instanceof CommonTypeDefinition &&                ((CommonTypeDefinition)key).isPredefinedType())) {                comps.add(key);            }        }                // assign class names for schema components, starting from set        PackageDirectory pkgdir = new PackageDirectory(genroot,            "org.opentravel.ota");        ClassAssigner assigner = new ClassAssigner(new NameConverter(), pkgdir);        assigner.assign(rcmap, comps);                // generate the classes in all packages        AST ast = AST.newAST(AST.JLS3);        ArrayList packs = pkgdir.getPackages();        for (int i = 0; i < packs.size(); i++) {            PackageHolder pack = (PackageHolder)packs.get(i);            pack.generate(ast);        }    }    /**     * Print ordered list of reference counts.     *     * @param rcmap     */    private static void printReferenceCounts(ReferenceCountMap rcmap) {                // get array of keys ordered by item name        Object[] keys = rcmap.keyArray();        Arrays.sort(keys, new Comparator() {            public int compare(Object arg0, Object arg1) {                String name0 = ((INamed)arg0).getName();                String name1 = ((INamed)arg1).getName();                return name0.compareTo(name1);            }        });                // print the reference counts        for (int i = 0; i < keys.length; i++) {            SchemaBase key = (SchemaBase)keys[i];            System.out.println("Found " + rcmap.getCount(key) +                " references to " + key.name() + " " + ((INamed)key).getName());        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
7777精品伊人久久久大香线蕉| 亚洲欧美另类在线| 久久99精品视频| 欧美一区二区三区精品| 日本女人一区二区三区| 日韩欧美一区二区在线视频| 蜜桃av噜噜一区二区三区小说| 欧美一卡2卡3卡4卡| 狠狠久久亚洲欧美| 国产精品国产三级国产aⅴ无密码| 成人免费视频视频在线观看免费 | 国产剧情一区在线| 亚洲国产精品精华液2区45| eeuss影院一区二区三区| 一区二区激情视频| 欧美变态tickling挠脚心| 国产高清亚洲一区| 一区二区三区中文字幕精品精品 | 成人免费看片app下载| 一区二区三区中文免费| 4438x成人网最大色成网站| 国产一区二区三区久久久| 1024国产精品| 日韩一区二区三区在线观看| 国产成人超碰人人澡人人澡| 亚洲精品成人精品456| 日韩三级电影网址| 99精品久久99久久久久| 日本在线播放一区二区三区| 国产视频一区二区在线| 欧美日韩一区二区欧美激情| 国产一区亚洲一区| 亚洲国产精品久久人人爱| 精品久久一区二区| 欧美性受xxxx| 国产 欧美在线| 日韩精品一二区| 国产精品美女久久久久高潮| 欧美日韩性生活| 成人h动漫精品一区二区| 天天操天天色综合| 亚洲日本丝袜连裤袜办公室| 欧美videossexotv100| 懂色一区二区三区免费观看| 麻豆免费精品视频| 国产一区二区三区四| 亚洲国产视频a| 亚洲国产精品t66y| 日韩欧美激情在线| 欧美日韩aaaaa| 91在线精品一区二区三区| 精品中文av资源站在线观看| 亚洲一区二区三区四区在线免费观看 | 56国语精品自产拍在线观看| 成人听书哪个软件好| 久久国产剧场电影| 日日夜夜精品视频天天综合网| 亚洲欧洲色图综合| 国产视频一区二区在线| 精品久久久久99| 欧美一二三区在线观看| 欧美日韩亚洲不卡| 精品视频全国免费看| 色哟哟精品一区| av不卡免费在线观看| 国产精品亚洲成人| 国产在线国偷精品产拍免费yy| 美国一区二区三区在线播放| 视频一区免费在线观看| 五月婷婷另类国产| 日韩国产在线观看| 看电影不卡的网站| 久久99国产精品免费网站| 日本aⅴ免费视频一区二区三区| 性久久久久久久久久久久| 亚洲国产一区二区a毛片| 亚洲国产一区二区在线播放| 亚洲国产精品嫩草影院| 视频一区二区不卡| 蜜臀久久久99精品久久久久久| 日韩成人av影视| 久久不见久久见免费视频1| 精品制服美女丁香| 国产精品99久久久久久有的能看 | 日本精品一区二区三区四区的功能| 成人黄色av电影| 91丨九色porny丨蝌蚪| 91亚洲精品乱码久久久久久蜜桃| av一区二区三区在线| 94-欧美-setu| 欧美性做爰猛烈叫床潮| 91精品视频网| 久久久久久久性| 日韩一区二区三区免费看| 日韩一区二区三区视频在线观看| 欧美成人精品福利| 欧美mv和日韩mv国产网站| 国产亚洲综合在线| 亚洲色图视频网| 亚欧色一区w666天堂| 日本成人在线电影网| 国产乱人伦偷精品视频不卡| 99久久777色| 91行情网站电视在线观看高清版| yourporn久久国产精品| 欧美mv和日韩mv国产网站| 色综合久久久久综合| 欧美老肥妇做.爰bbww| 日韩精品一区二| 国产精品乱子久久久久| 亚洲一区二区影院| 久久不见久久见免费视频7| 国产成人亚洲综合a∨婷婷图片| 99久精品国产| 日韩一级片在线观看| 国产精品不卡在线| 日本午夜一区二区| 成人免费高清在线观看| 欧美人体做爰大胆视频| 中文字幕高清不卡| 日本亚洲天堂网| 99精品久久99久久久久| 日韩欧美一区中文| 最新不卡av在线| 九九久久精品视频| 欧美私模裸体表演在线观看| 久久先锋影音av| 五月婷婷欧美视频| 99re6这里只有精品视频在线观看| 欧美日韩精品欧美日韩精品| 国产夜色精品一区二区av| 日韩精品福利网| 色哟哟欧美精品| 中文字幕 久热精品 视频在线| 视频精品一区二区| 一本大道久久a久久综合婷婷| 欧美成人a在线| 一区二区三区高清在线| 国产精品一区二区在线观看网站| 在线观看中文字幕不卡| 国产女人aaa级久久久级| 久久国产综合精品| 欧美日韩国产a| 亚洲制服丝袜在线| 99久久精品免费看| 久久久久国产精品免费免费搜索| 日韩和欧美一区二区| 色婷婷综合视频在线观看| 欧美高清在线精品一区| 精品一区二区三区蜜桃| 欧美高清hd18日本| 亚洲一区二区在线免费看| 97精品久久久午夜一区二区三区| 久久久久国产成人精品亚洲午夜| 日本成人在线电影网| 欧美美女bb生活片| 亚洲国产欧美在线| 欧美性videosxxxxx| 一级特黄大欧美久久久| 一本色道亚洲精品aⅴ| 国产精品久久久久久久午夜片| 国产综合色在线| 久久一夜天堂av一区二区三区| 蜜臀av性久久久久蜜臀av麻豆| 91麻豆精品国产91久久久久| 亚洲成人av免费| 欧美日韩国产小视频| 婷婷国产v国产偷v亚洲高清| 在线亚洲精品福利网址导航| 亚洲日本在线天堂| 色网综合在线观看| 亚洲在线观看免费| 欧美久久高跟鞋激| 美腿丝袜亚洲色图| 2020国产成人综合网| 国产剧情一区二区三区| 国产精品欧美极品| 91免费观看在线| 亚洲无线码一区二区三区| 777奇米四色成人影色区| 蜜臀91精品一区二区三区| 久久蜜桃一区二区| 99在线精品一区二区三区| 亚洲美女区一区| 欧美人动与zoxxxx乱| 美女尤物国产一区| 欧美精彩视频一区二区三区| 99久久er热在这里只有精品66| 亚洲综合成人在线视频| 91麻豆精品国产91| 国产精品亚洲视频| 亚洲综合丝袜美腿| 日韩一级大片在线| 成人一级视频在线观看| 亚洲免费av高清| 日韩亚洲欧美一区| 9i在线看片成人免费| 视频一区视频二区中文| 国产视频一区二区在线观看| 在线精品视频免费播放|