本文整理汇总了Java中com.sun.mirror.apt.Filer类的典型用法代码示例。如果您正苦于以下问题:Java Filer类的具体用法?Java Filer怎么用?Java Filer使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Filer类属于com.sun.mirror.apt包,在下文中一共展示了Filer类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: openBinary
import com.sun.mirror.apt.Filer; //导入依赖的package包/类
public OutputStream openBinary(JPackage pkg, String fileName) throws IOException {
Filer.Location loc;
if(fileName.endsWith(".java")) {
// APT doesn't do the proper Unicode escaping on Java source files,
// so we can't rely on Filer.createSourceFile.
loc = SOURCE_TREE;
} else {
// put non-Java files directly to the output folder
loc = CLASS_TREE;
}
return filer.createBinaryFile(loc,pkg.name(),new File(fileName));
}
示例2: FilerCodeWriter
import com.sun.mirror.apt.Filer; //导入依赖的package包/类
public FilerCodeWriter(Filer filer) {
this.filer = filer;
}
示例3: getProcessorFor
import com.sun.mirror.apt.Filer; //导入依赖的package包/类
public AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds, final AnnotationProcessorEnvironment env) {
return new AnnotationProcessor() {
final ErrorReceiverImpl errorListener = new ErrorReceiverImpl(env);
public void process() {
List<Reference> decls = new ArrayList<Reference>();
for(TypeDeclaration d : env.getTypeDeclarations()) {
// simply ignore all the interface definitions,
// so that users won't have to manually exclude interfaces, which is silly.
if(d instanceof ClassDeclaration)
decls.add(new Reference(d,env));
}
J2SJAXBModel model = XJC.createJavaCompiler().bind(decls,Collections.<QName,Reference>emptyMap(),null,env);
if(model==null)
return; // 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 = env.getFiler().createBinaryFile(Filer.Location.CLASS_TREE,"",file);
file = file.getAbsoluteFile();
}
StreamResult ss = new StreamResult(out);
env.getMessager().printNotice("Writing "+file);
ss.setSystemId(file.toURL().toExternalForm());
return ss;
}
}, errorListener);
if(episodeFile!=null) {
env.getMessager().printNotice("Writing "+episodeFile);
model.generateEpisodeFile(new StreamResult(episodeFile));
}
} catch (IOException e) {
errorListener.error(e.getMessage(),e);
}
}
};
}