Package net.openhft.compiler
Class MyJavaFileManager
- java.lang.Object
-
- net.openhft.compiler.MyJavaFileManager
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable,javax.tools.JavaFileManager,javax.tools.OptionChecker
class MyJavaFileManager extends java.lang.Object implements javax.tools.JavaFileManager
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,CloseableByteArrayOutputStream>buffersprivate javax.tools.StandardJavaFileManagerfileManagerprivate static org.slf4j.LoggerLOGprivate static longOVERRIDE_OFFSETprivate static sun.misc.Unsafeunsafe
-
Constructor Summary
Constructors Constructor Description MyJavaFileManager(javax.tools.StandardJavaFileManager fileManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearBuffers()voidclose()voidflush()@NotNull java.util.Map<java.lang.String,byte[]>getAllBuffers()java.lang.ClassLoadergetClassLoader(javax.tools.JavaFileManager.Location location)javax.tools.FileObjectgetFileForInput(javax.tools.JavaFileManager.Location location, java.lang.String packageName, java.lang.String relativeName)javax.tools.FileObjectgetFileForOutput(javax.tools.JavaFileManager.Location location, java.lang.String packageName, java.lang.String relativeName, javax.tools.FileObject sibling)javax.tools.JavaFileObjectgetJavaFileForInput(javax.tools.JavaFileManager.Location location, java.lang.String className, javax.tools.JavaFileObject.Kind kind)@NotNull javax.tools.JavaFileObjectgetJavaFileForOutput(javax.tools.JavaFileManager.Location location, java.lang.String className, javax.tools.JavaFileObject.Kind kind, javax.tools.FileObject sibling)booleanhandleOption(java.lang.String current, java.util.Iterator<java.lang.String> remaining)booleanhasLocation(javax.tools.JavaFileManager.Location location)java.lang.StringinferBinaryName(javax.tools.JavaFileManager.Location location, javax.tools.JavaFileObject file)java.lang.StringinferModuleName(javax.tools.JavaFileManager.Location location)private <T> TinvokeNamedMethodIfAvailable(javax.tools.JavaFileManager.Location location, java.lang.String name)booleanisSameFile(javax.tools.FileObject a, javax.tools.FileObject b)intisSupportedOption(java.lang.String option)java.lang.Iterable<javax.tools.JavaFileObject>list(javax.tools.JavaFileManager.Location location, java.lang.String packageName, java.util.Set<javax.tools.JavaFileObject.Kind> kinds, boolean recurse)java.lang.Iterable<java.util.Set<javax.tools.JavaFileManager.Location>>listLocationsForModules(javax.tools.JavaFileManager.Location location)
-
-
-
Field Detail
-
LOG
private static final org.slf4j.Logger LOG
-
unsafe
private static final sun.misc.Unsafe unsafe
-
OVERRIDE_OFFSET
private static final long OVERRIDE_OFFSET
-
fileManager
private final javax.tools.StandardJavaFileManager fileManager
-
buffers
private final java.util.Map<java.lang.String,CloseableByteArrayOutputStream> buffers
-
-
Method Detail
-
listLocationsForModules
public java.lang.Iterable<java.util.Set<javax.tools.JavaFileManager.Location>> listLocationsForModules(javax.tools.JavaFileManager.Location location)
- Specified by:
listLocationsForModulesin interfacejavax.tools.JavaFileManager
-
inferModuleName
public java.lang.String inferModuleName(javax.tools.JavaFileManager.Location location)
- Specified by:
inferModuleNamein interfacejavax.tools.JavaFileManager
-
getClassLoader
public java.lang.ClassLoader getClassLoader(javax.tools.JavaFileManager.Location location)
- Specified by:
getClassLoaderin interfacejavax.tools.JavaFileManager
-
list
public java.lang.Iterable<javax.tools.JavaFileObject> list(javax.tools.JavaFileManager.Location location, java.lang.String packageName, java.util.Set<javax.tools.JavaFileObject.Kind> kinds, boolean recurse) throws java.io.IOException- Specified by:
listin interfacejavax.tools.JavaFileManager- Throws:
java.io.IOException
-
inferBinaryName
public java.lang.String inferBinaryName(javax.tools.JavaFileManager.Location location, javax.tools.JavaFileObject file)- Specified by:
inferBinaryNamein interfacejavax.tools.JavaFileManager
-
isSameFile
public boolean isSameFile(javax.tools.FileObject a, javax.tools.FileObject b)- Specified by:
isSameFilein interfacejavax.tools.JavaFileManager
-
handleOption
public boolean handleOption(java.lang.String current, java.util.Iterator<java.lang.String> remaining)- Specified by:
handleOptionin interfacejavax.tools.JavaFileManager
-
hasLocation
public boolean hasLocation(javax.tools.JavaFileManager.Location location)
- Specified by:
hasLocationin interfacejavax.tools.JavaFileManager
-
getJavaFileForInput
public javax.tools.JavaFileObject getJavaFileForInput(javax.tools.JavaFileManager.Location location, java.lang.String className, javax.tools.JavaFileObject.Kind kind) throws java.io.IOException- Specified by:
getJavaFileForInputin interfacejavax.tools.JavaFileManager- Throws:
java.io.IOException
-
getJavaFileForOutput
@NotNull public @NotNull javax.tools.JavaFileObject getJavaFileForOutput(javax.tools.JavaFileManager.Location location, java.lang.String className, javax.tools.JavaFileObject.Kind kind, javax.tools.FileObject sibling)- Specified by:
getJavaFileForOutputin interfacejavax.tools.JavaFileManager
-
getFileForInput
public javax.tools.FileObject getFileForInput(javax.tools.JavaFileManager.Location location, java.lang.String packageName, java.lang.String relativeName) throws java.io.IOException- Specified by:
getFileForInputin interfacejavax.tools.JavaFileManager- Throws:
java.io.IOException
-
getFileForOutput
public javax.tools.FileObject getFileForOutput(javax.tools.JavaFileManager.Location location, java.lang.String packageName, java.lang.String relativeName, javax.tools.FileObject sibling) throws java.io.IOException- Specified by:
getFileForOutputin interfacejavax.tools.JavaFileManager- Throws:
java.io.IOException
-
flush
public void flush()
- Specified by:
flushin interfacejava.io.Flushable- Specified by:
flushin interfacejavax.tools.JavaFileManager
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfacejavax.tools.JavaFileManager- Throws:
java.io.IOException
-
isSupportedOption
public int isSupportedOption(java.lang.String option)
- Specified by:
isSupportedOptionin interfacejavax.tools.OptionChecker
-
clearBuffers
public void clearBuffers()
-
getAllBuffers
@NotNull public @NotNull java.util.Map<java.lang.String,byte[]> getAllBuffers()
-
invokeNamedMethodIfAvailable
private <T> T invokeNamedMethodIfAvailable(javax.tools.JavaFileManager.Location location, java.lang.String name)
-
-