当前位置: 首页>>代码示例>>Java>>正文


Java JXC类代码示例

本文整理汇总了Java中com.sun.tools.internal.jxc.api.JXC的典型用法代码示例。如果您正苦于以下问题:Java JXC类的具体用法?Java JXC怎么用?Java JXC使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


JXC类属于com.sun.tools.internal.jxc.api包,在下文中一共展示了JXC类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: process

import com.sun.tools.internal.jxc.api.JXC; //导入依赖的package包/类
@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
    final ErrorReceiverImpl errorListener = new ErrorReceiverImpl(processingEnv);

    List<Reference> classesToBeBound = new ArrayList<Reference>();
    // simply ignore all the interface definitions,
    // so that users won't have to manually exclude interfaces, which is silly.
    filterClass(classesToBeBound, roundEnv.getRootElements());

    J2SJAXBModel model = JXC.createJavaCompiler().bind(classesToBeBound, Collections.<QName, Reference>emptyMap(), null, processingEnv);
    if (model == null)
        return false; // error

    try {
        model.generateSchema(
                new SchemaOutputResolver() {
                    public Result createOutput(String namespaceUri, String suggestedFileName) throws IOException {
                        File file;
                        OutputStream out;
                        if (schemaLocations.containsKey(namespaceUri)) {
                            file = schemaLocations.get(namespaceUri);
                            if (file == null) return null;    // don't generate
                            out = new FileOutputStream(file);
                        } else {
                            // use the default
                            file = new File(suggestedFileName);
                            out = processingEnv.getFiler().createResource(StandardLocation.CLASS_OUTPUT, "", suggestedFileName)
                                    .openOutputStream();
                            file = file.getAbsoluteFile();
                        }

                        StreamResult ss = new StreamResult(out);
                        processingEnv.getMessager().printMessage(Diagnostic.Kind.NOTE, "Writing "+file);
                        ss.setSystemId(file.toURL().toExternalForm());
                        return ss;
                    }
                }, errorListener);

        if (episodeFile != null) {
            processingEnv.getMessager().printMessage(Diagnostic.Kind.NOTE, "Writing "+episodeFile);
            model.generateEpisodeFile(new StreamResult(episodeFile));
        }
    } catch (IOException e) {
        errorListener.error(e.getMessage(), e);
    }
    return false;
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:48,代码来源:SchemaGenerator.java

示例2: process

import com.sun.tools.internal.jxc.api.JXC; //导入依赖的package包/类
@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
    final ErrorReceiverImpl errorListener = new ErrorReceiverImpl(processingEnv);

    List<Reference> classes = new ArrayList<Reference>();
    // simply ignore all the interface definitions,
    // so that users won't have to manually exclude interfaces, which is silly.
    filterClass(classes, roundEnv.getRootElements());

    J2SJAXBModel model = JXC.createJavaCompiler().bind(classes, Collections.<QName, Reference>emptyMap(), null, processingEnv);
    if (model == null)
        return false; // error

    try {
        model.generateSchema(
                new SchemaOutputResolver() {
                    public Result createOutput(String namespaceUri, String suggestedFileName) throws IOException {
                        File file;
                        OutputStream out;
                        if (schemaLocations.containsKey(namespaceUri)) {
                            file = schemaLocations.get(namespaceUri);
                            if (file == null) return null;    // don't generate
                            out = new FileOutputStream(file);
                        } else {
                            // use the default
                            file = new File(suggestedFileName);
                            out = processingEnv.getFiler().createResource(StandardLocation.CLASS_OUTPUT, "", suggestedFileName)
                                    .openOutputStream();
                            file = file.getAbsoluteFile();
                        }

                        StreamResult ss = new StreamResult(out);
                        processingEnv.getMessager().printMessage(Diagnostic.Kind.NOTE, "Writing "+file);
                        ss.setSystemId(file.toURL().toExternalForm());
                        return ss;
                    }
                }, errorListener);

        if (episodeFile != null) {
            processingEnv.getMessager().printMessage(Diagnostic.Kind.NOTE, "Writing "+episodeFile);
            model.generateEpisodeFile(new StreamResult(episodeFile));
        }
    } catch (IOException e) {
        errorListener.error(e.getMessage(), e);
    }
    return false;
}
 
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:48,代码来源:SchemaGenerator.java


注:本文中的com.sun.tools.internal.jxc.api.JXC类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。