Package net.bytebuddy.utility
Interface JavaModule.Dispatcher
-
- All Known Implementing Classes:
JavaModule.Dispatcher.Disabled
,JavaModule.Dispatcher.Enabled
- Enclosing class:
- JavaModule
protected static interface JavaModule.Dispatcher
A dispatcher for accessing thejava.lang.Module
API if it is available on the current VM.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
JavaModule.Dispatcher.CreationAction
A creation action for a dispatcher.static class
JavaModule.Dispatcher.Disabled
A disabled dispatcher for a VM that does not support thejava.lang.Module
API.static class
JavaModule.Dispatcher.Enabled
A dispatcher for a VM that does support thejava.lang.Module
API.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addReads(java.lang.instrument.Instrumentation instrumentation, java.lang.Object source, java.lang.Object target)
Adds a read-edge from the source to the target module.boolean
canRead(java.lang.Object source, java.lang.Object target)
Checks if the source module can read the target module.java.lang.ClassLoader
getClassLoader(java.lang.Object module)
Returns the module's class loader.java.lang.String
getName(java.lang.Object module)
Returns the module's name.java.io.InputStream
getResourceAsStream(java.lang.Object module, java.lang.String name)
Returns a resource stream for this module for a resource of the given name ornull
if such a resource does not exist.boolean
isAlive()
Checks if this dispatcher is alive, i.e.boolean
isNamed(java.lang.Object module)
Returnstrue
if the supplied module is named.JavaModule
moduleOf(java.lang.Class<?> type)
Extracts the JavaModule
for the provided class or returnsnull
if the current VM does not support modules.
-
-
-
Method Detail
-
isAlive
boolean isAlive()
Checks if this dispatcher is alive, i.e. supports modules.- Returns:
true
if modules are supported on the current VM.
-
moduleOf
JavaModule moduleOf(java.lang.Class<?> type)
Extracts the JavaModule
for the provided class or returnsnull
if the current VM does not support modules.- Parameters:
type
- The type for which to extract the module.- Returns:
- The class's
Module
ornull
if the current VM does not support modules.
-
isNamed
boolean isNamed(java.lang.Object module)
Returnstrue
if the supplied module is named.- Parameters:
module
- Thejava.lang.Module
to check for the existence of a name.- Returns:
true
if the supplied module is named.
-
getName
java.lang.String getName(java.lang.Object module)
Returns the module's name.- Parameters:
module
- Thejava.lang.Module
to check for its name.- Returns:
- The module's (implicit or explicit) name.
-
getResourceAsStream
java.io.InputStream getResourceAsStream(java.lang.Object module, java.lang.String name)
Returns a resource stream for this module for a resource of the given name ornull
if such a resource does not exist.- Parameters:
module
- Thejava.lang.Module
instance to apply this method upon.name
- The name of the resource.- Returns:
- An input stream for the resource or
null
if it does not exist.
-
getClassLoader
java.lang.ClassLoader getClassLoader(java.lang.Object module)
Returns the module's class loader.- Parameters:
module
- Thejava.lang.Module
- Returns:
- The module's class loader.
-
canRead
boolean canRead(java.lang.Object source, java.lang.Object target)
Checks if the source module can read the target module.- Parameters:
source
- The source module.target
- The target module.- Returns:
true
if the source module can read the target module.
-
addReads
void addReads(java.lang.instrument.Instrumentation instrumentation, java.lang.Object source, java.lang.Object target)
Adds a read-edge from the source to the target module.- Parameters:
instrumentation
- The instrumentation instance to use for adding the edge.source
- The source module.target
- The target module.
-
-