2using System.Collections.Immutable;
4using System.IO.Compression;
12 internal readonly
struct JarFileEntry
15 readonly JarFile _jar;
16 readonly ZipArchiveEntry _entry;
17 readonly
string _name;
18 readonly
int _versionFeature;
28 public JarFileEntry(JarFile jar, ZipArchiveEntry entry,
string name,
int versionFeature)
30 _jar = jar ??
throw new ArgumentNullException(nameof(jar));
31 _entry = entry ??
throw new ArgumentNullException(nameof(entry));
32 _name = name ??
throw new ArgumentNullException(nameof(name));
33 _versionFeature = versionFeature;
39 public readonly
string Name => _name;
44 public readonly
int VersionFeature => _versionFeature;
49 public readonly ImmutableDictionary<string, string> Attributes => _jar.Manifest is { } m && m.Attributes.TryGetValue(_entry.FullName, out var attr) ? attr : ImmutableDictionary<string, string>.Empty;
55 public readonly Stream Open() => _entry.Open();
global::java.lang.invoke.LambdaForm.Name Name