Class ReloadableFileManager
java.lang.Object
javax.tools.ForwardingJavaFileManager<StandardJavaFileManager>
io.quarkus.deployment.dev.filesystem.QuarkusFileManager
io.quarkus.deployment.dev.filesystem.ReloadableFileManager
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
,JavaFileManager
,OptionChecker
This reloadable file manager handle the class-paths and file locations of separated file manager instances.
It is required for applications that depends on hot-deployed classes of external sources.
It is required for applications that depends on hot-deployed classes of external sources.
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
A class loader that combines multiple class loaders into one.
The classes loaded by this class loader are associated with this class loader, i.e.Nested classes/interfaces inherited from class io.quarkus.deployment.dev.filesystem.QuarkusFileManager
QuarkusFileManager.Context
Nested classes/interfaces inherited from interface javax.tools.JavaFileManager
JavaFileManager.Location
-
Field Summary
Fields inherited from class javax.tools.ForwardingJavaFileManager
fileManager
-
Constructor Summary
ModifierConstructorDescriptionReloadableFileManager
(Supplier<StandardJavaFileManager> supplier, QuarkusFileManager.Context context) protected
ReloadableFileManager
(StandardJavaFileManager fileManager, StandardJavaFileManager reloadableFileManager, QuarkusFileManager.Context context) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
boolean
contains
(JavaFileManager.Location location, FileObject fo) getClassLoader
(JavaFileManager.Location location) getFileForInput
(JavaFileManager.Location location, String packageName, String relativeName) getFileForOutput
(JavaFileManager.Location location, String packageName, String relativeName, FileObject sibling) getJavaFileForInput
(JavaFileManager.Location location, String className, JavaFileObject.Kind kind) getJavaFileForOutput
(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling) Iterable<? extends JavaFileObject>
getJavaSources
(Iterable<? extends File> files) getLocationForModule
(JavaFileManager.Location location, String moduleName) getLocationForModule
(JavaFileManager.Location location, JavaFileObject fo) <S> ServiceLoader<S>
getServiceLoader
(JavaFileManager.Location location, Class<S> service) boolean
handleOption
(String current, Iterator<String> remaining) boolean
hasLocation
(JavaFileManager.Location location) inferBinaryName
(JavaFileManager.Location location, JavaFileObject file) inferModuleName
(JavaFileManager.Location location) list
(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse) void
reset
(QuarkusFileManager.Context context) Methods inherited from class javax.tools.ForwardingJavaFileManager
flush, isSameFile, isSupportedOption
-
Constructor Details
-
ReloadableFileManager
public ReloadableFileManager(Supplier<StandardJavaFileManager> supplier, QuarkusFileManager.Context context) -
ReloadableFileManager
protected ReloadableFileManager(StandardJavaFileManager fileManager, StandardJavaFileManager reloadableFileManager, QuarkusFileManager.Context context)
-
-
Method Details
-
getClassLoader
- Specified by:
getClassLoader
in interfaceJavaFileManager
- Overrides:
getClassLoader
in classForwardingJavaFileManager<StandardJavaFileManager>
-
list
public Iterable<JavaFileObject> list(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse) throws IOException - Specified by:
list
in interfaceJavaFileManager
- Overrides:
list
in classForwardingJavaFileManager<StandardJavaFileManager>
- Throws:
IOException
-
inferBinaryName
- Specified by:
inferBinaryName
in interfaceJavaFileManager
- Overrides:
inferBinaryName
in classForwardingJavaFileManager<StandardJavaFileManager>
-
handleOption
- Specified by:
handleOption
in interfaceJavaFileManager
- Overrides:
handleOption
in classForwardingJavaFileManager<StandardJavaFileManager>
-
hasLocation
- Specified by:
hasLocation
in interfaceJavaFileManager
- Overrides:
hasLocation
in classForwardingJavaFileManager<StandardJavaFileManager>
-
getJavaFileForInput
public JavaFileObject getJavaFileForInput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind) throws IOException - Specified by:
getJavaFileForInput
in interfaceJavaFileManager
- Overrides:
getJavaFileForInput
in classForwardingJavaFileManager<StandardJavaFileManager>
- Throws:
IOException
-
getJavaFileForOutput
public JavaFileObject getJavaFileForOutput(JavaFileManager.Location location, String className, JavaFileObject.Kind kind, FileObject sibling) throws IOException - Specified by:
getJavaFileForOutput
in interfaceJavaFileManager
- Overrides:
getJavaFileForOutput
in classForwardingJavaFileManager<StandardJavaFileManager>
- Throws:
IOException
-
getFileForInput
public FileObject getFileForInput(JavaFileManager.Location location, String packageName, String relativeName) throws IOException - Specified by:
getFileForInput
in interfaceJavaFileManager
- Overrides:
getFileForInput
in classForwardingJavaFileManager<StandardJavaFileManager>
- Throws:
IOException
-
getFileForOutput
public FileObject getFileForOutput(JavaFileManager.Location location, String packageName, String relativeName, FileObject sibling) throws IOException - Specified by:
getFileForOutput
in interfaceJavaFileManager
- Overrides:
getFileForOutput
in classForwardingJavaFileManager<StandardJavaFileManager>
- Throws:
IOException
-
getLocationForModule
public JavaFileManager.Location getLocationForModule(JavaFileManager.Location location, String moduleName) throws IOException - Specified by:
getLocationForModule
in interfaceJavaFileManager
- Overrides:
getLocationForModule
in classForwardingJavaFileManager<StandardJavaFileManager>
- Throws:
IOException
-
getLocationForModule
public JavaFileManager.Location getLocationForModule(JavaFileManager.Location location, JavaFileObject fo) throws IOException - Specified by:
getLocationForModule
in interfaceJavaFileManager
- Overrides:
getLocationForModule
in classForwardingJavaFileManager<StandardJavaFileManager>
- Throws:
IOException
-
getServiceLoader
public <S> ServiceLoader<S> getServiceLoader(JavaFileManager.Location location, Class<S> service) throws IOException - Specified by:
getServiceLoader
in interfaceJavaFileManager
- Overrides:
getServiceLoader
in classForwardingJavaFileManager<StandardJavaFileManager>
- Throws:
IOException
-
inferModuleName
- Specified by:
inferModuleName
in interfaceJavaFileManager
- Overrides:
inferModuleName
in classForwardingJavaFileManager<StandardJavaFileManager>
- Throws:
IOException
-
listLocationsForModules
public Iterable<Set<JavaFileManager.Location>> listLocationsForModules(JavaFileManager.Location location) - Specified by:
listLocationsForModules
in interfaceJavaFileManager
- Overrides:
listLocationsForModules
in classForwardingJavaFileManager<StandardJavaFileManager>
-
contains
- Specified by:
contains
in interfaceJavaFileManager
- Overrides:
contains
in classForwardingJavaFileManager<StandardJavaFileManager>
- Throws:
IOException
-
getJavaSources
- Specified by:
getJavaSources
in classQuarkusFileManager
-
reset
- Overrides:
reset
in classQuarkusFileManager
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceJavaFileManager
- Overrides:
close
in classQuarkusFileManager
- Throws:
IOException
-