package org.voovan.complier;
import javax.tools.FileObject;
import javax.tools.ForwardingJavaFileManager;
import javax.tools.JavaFileManager;
import javax.tools.JavaFileObject;
import java.io.IOException;
/**
* 内存文件管理实现
* @author helyho
*
* Voovan Framework.
* WebSite: https://github.com/helyho/Voovan
* Licence: Apache v2 License
*/
public class MemFileManager extends ForwardingJavaFileManager<JavaFileManager> {
private JavaMemClass javaMemClass;
protected MemFileManager(JavaFileManager fileManager) {
super(fileManager);
}
public JavaMemClass getJavaMemClass() {
return javaMemClass;
}
@Override
public JavaFileObject getJavaFileForOutput(JavaFileManager.Location location,
String className,
JavaFileObject.Kind kind,
FileObject sibling)
throws IOException{
javaMemClass = new JavaMemClass(className, kind);
return javaMemClass;
}
}