IKVM11  11
Java SE 11 Virtual Machine for .NET
Loading...
Searching...
No Matches
IKVM.CoreLib.Modules.JarModuleReader Class Reference

A ModuleReader for a modular JAR file. More...

Inheritance diagram for IKVM.CoreLib.Modules.JarModuleReader:
IKVM.CoreLib.Modules.ModuleReader

Public Member Functions

 JarModuleReader (string file, RuntimeVersion runtimeVersion)
 Initializes a new instance.
 
override IEnumerable< string > List ()
 
override? Stream Open (string name)
 
override void Dispose ()
 
- Public Member Functions inherited from IKVM.CoreLib.Modules.ModuleReader
Stream? Open (string name)
 Opens a resource, returning an input stream to read the resource in the module.
 
IEnumerable< string > List ()
 Lists the contents of the module, returning a stream of elements that are the names of all resources in the module.
 
void Dispose ()
 

Detailed Description

A ModuleReader for a modular JAR file.

Definition at line 13 of file JarModuleReader.cs.

Constructor & Destructor Documentation

◆ JarModuleReader()

IKVM.CoreLib.Modules.JarModuleReader.JarModuleReader ( string file,
RuntimeVersion runtimeVersion )

Initializes a new instance.

Parameters
file
runtimeVersion

Definition at line 24 of file JarModuleReader.cs.

25 {
26 _file = file ?? throw new ArgumentNullException(nameof(file));
27 _file = Path.GetFullPath(_file);
28 _jar = new JarFile(_file, runtimeVersion);
29 }

Member Function Documentation

◆ Dispose()

override void IKVM.CoreLib.Modules.JarModuleReader.Dispose ( )

Definition at line 49 of file JarModuleReader.cs.

50 {
51 _jar.Dispose();
52 }

◆ List()

override IEnumerable< string > IKVM.CoreLib.Modules.JarModuleReader.List ( )

Definition at line 32 of file JarModuleReader.cs.

33 {
34 foreach (var i in _jar.GetEntries())
35 yield return i.Name;
36 }

◆ Open()

override? Stream IKVM.CoreLib.Modules.JarModuleReader.Open ( string name)

Definition at line 39 of file JarModuleReader.cs.

40 {
41 var entry = _jar.GetEntry(name);
42 if (entry is not null)
43 return entry.Value.Open();
44
45 return null;
46 }

The documentation for this class was generated from the following file: