final
class
JrtClassPath
extends
ClassPath
with
NoSourcePaths
Implementation ClassPath
based on the JDK 9 encapsulated runtime modules (JEP-220)
https://bugs.openjdk.java.net/browse/JDK-8066492 is the most up to date reference for the structure of the jrt:// filesystem.
The implementation assumes that no classes exist in the empty package.
Constructors
JrtClassPath
(
fs:
FileSystem
)
Members
type
F
=
Path
private
val
dir
: Path
private
val
fs
: FileSystem
private
val
packageToModuleBases
: Map
[
String, Seq
[
Path
]
]
def
asClassPathStrings
: Seq
[
String
]
def
asURLs
: Seq
[
URL
]
def
classes
(
inPackage:
String
)
: Seq
[
ClassFileEntry
]
def
findClassFile
(
className:
String
)
: Option
[
AbstractFile
]
override
def
list
(
inPackage:
String
)
: ClassPathEntries
Allows to get entries for packages and classes merged with sources possibly in one pass.
Allows to get entries for packages and classes merged with sources possibly in one pass.
private
def
packageOf
(
dottedClassName:
String
)
: String
override
def
packages
(
inPackage:
String
)
: Seq
[
PackageEntry
]
Empty string represents root package
Empty string represents root package