public interface jdk.tools.jlink.plugin.ResourcePoolEntry
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jdk.tools.jlink.plugin.ResourcePoolEntry
  super_class: java.lang.Object
{
  public abstract java.lang.String moduleName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String path();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.tools.jlink.plugin.ResourcePoolEntry$Type type();
    descriptor: ()Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract long contentLength();
    descriptor: ()J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.io.InputStream content();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public jdk.tools.jlink.plugin.ResourcePoolEntry linkedTarget();
    descriptor: ()Ljdk/tools/jlink/plugin/ResourcePoolEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jlink.plugin.ResourcePoolEntry this
         0: .line 117
            aconst_null
            areturn
        end local 0 // jdk.tools.jlink.plugin.ResourcePoolEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jlink/plugin/ResourcePoolEntry;

  public byte[] contentBytes();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // jdk.tools.jlink.plugin.ResourcePoolEntry this
         0: .line 126
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.content:()Ljava/io/InputStream;
            astore 3 /* is */
        start local 3 // java.io.InputStream is
         2: .line 127
            aload 3 /* is */
            invokevirtual java.io.InputStream.readAllBytes:()[B
         3: .line 128
            aload 3 /* is */
            ifnull 4
            aload 3 /* is */
            invokevirtual java.io.InputStream.close:()V
         4: .line 127
      StackMap locals: jdk.tools.jlink.plugin.ResourcePoolEntry java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: byte[]
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 1
         6: .line 128
            aload 3 /* is */
            ifnull 7
            aload 3 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 3 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
         7: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 2
            aload 1
            ifnonnull 9
            aload 2
            astore 1
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 1
            aload 2
            if_acmpeq 10
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 1
            athrow
      StackMap locals: jdk.tools.jlink.plugin.ResourcePoolEntry
      StackMap stack: java.io.IOException
        11: astore 1 /* ex */
        start local 1 // java.io.IOException ex
        12: .line 129
            new java.io.UncheckedIOException
            dup
            aload 1 /* ex */
            invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
            athrow
        end local 1 // java.io.IOException ex
        end local 0 // jdk.tools.jlink.plugin.ResourcePoolEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            2    7     3    is  Ljava/io/InputStream;
           12   13     1    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     3       5  any
           1     4       8  any
           5     8       8  any
           0     4      11  Class java.io.IOException
           5    11      11  Class java.io.IOException

  public void write(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.tools.jlink.plugin.ResourcePoolEntry this
        start local 1 // java.io.OutputStream out
         0: .line 140
            aload 1 /* out */
            aload 0 /* this */
            invokeinterface jdk.tools.jlink.plugin.ResourcePoolEntry.contentBytes:()[B
            invokevirtual java.io.OutputStream.write:([B)V
         1: .line 141
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 2 /* ex */
        start local 2 // java.io.IOException ex
         3: .line 142
            new java.io.UncheckedIOException
            dup
            aload 2 /* ex */
            invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
            athrow
        end local 2 // java.io.IOException ex
         4: .line 144
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.OutputStream out
        end local 0 // jdk.tools.jlink.plugin.ResourcePoolEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            0    5     1   out  Ljava/io/OutputStream;
            3    4     2    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  public jdk.tools.jlink.plugin.ResourcePoolEntry copyWithContent(byte[]);
    descriptor: ([B)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jlink.plugin.ResourcePoolEntry this
        start local 1 // byte[] content
         0: .line 154
            aload 0 /* this */
            aload 1 /* content */
            invokestatic jdk.tools.jlink.internal.ResourcePoolEntryFactory.create:(Ljdk/tools/jlink/plugin/ResourcePoolEntry;[B)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            areturn
        end local 1 // byte[] content
        end local 0 // jdk.tools.jlink.plugin.ResourcePoolEntry this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            0    1     1  content  [B
    MethodParameters:
         Name  Flags
      content  

  public jdk.tools.jlink.plugin.ResourcePoolEntry copyWithContent(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jlink.plugin.ResourcePoolEntry this
        start local 1 // java.nio.file.Path file
         0: .line 165
            aload 0 /* this */
            aload 1 /* file */
            invokestatic jdk.tools.jlink.internal.ResourcePoolEntryFactory.create:(Ljdk/tools/jlink/plugin/ResourcePoolEntry;Ljava/nio/file/Path;)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            areturn
        end local 1 // java.nio.file.Path file
        end local 0 // jdk.tools.jlink.plugin.ResourcePoolEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            0    1     1  file  Ljava/nio/file/Path;
    MethodParameters:
      Name  Flags
      file  

  public static jdk.tools.jlink.plugin.ResourcePoolEntry create(java.lang.String, jdk.tools.jlink.plugin.ResourcePoolEntry$Type, byte[]);
    descriptor: (Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;[B)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.String path
        start local 1 // jdk.tools.jlink.plugin.ResourcePoolEntry$Type type
        start local 2 // byte[] content
         0: .line 178
            aload 0 /* path */
            aload 1 /* type */
            aload 2 /* content */
            invokestatic jdk.tools.jlink.internal.ResourcePoolEntryFactory.create:(Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;[B)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            areturn
        end local 2 // byte[] content
        end local 1 // jdk.tools.jlink.plugin.ResourcePoolEntry$Type type
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     path  Ljava/lang/String;
            0    1     1     type  Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;
            0    1     2  content  [B
    MethodParameters:
         Name  Flags
      path     
      type     
      content  

  public static jdk.tools.jlink.plugin.ResourcePoolEntry create(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String path
        start local 1 // byte[] content
         0: .line 189
            aload 0 /* path */
            getstatic jdk.tools.jlink.plugin.ResourcePoolEntry$Type.CLASS_OR_RESOURCE:Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;
            aload 1 /* content */
            invokestatic jdk.tools.jlink.plugin.ResourcePoolEntry.create:(Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;[B)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            areturn
        end local 1 // byte[] content
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     path  Ljava/lang/String;
            0    1     1  content  [B
    MethodParameters:
         Name  Flags
      path     
      content  

  public static jdk.tools.jlink.plugin.ResourcePoolEntry create(java.lang.String, jdk.tools.jlink.plugin.ResourcePoolEntry$Type, java.nio.file.Path);
    descriptor: (Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;Ljava/nio/file/Path;)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.String path
        start local 1 // jdk.tools.jlink.plugin.ResourcePoolEntry$Type type
        start local 2 // java.nio.file.Path file
         0: .line 202
            aload 0 /* path */
            aload 1 /* type */
            aload 2 /* file */
            invokestatic jdk.tools.jlink.internal.ResourcePoolEntryFactory.create:(Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;Ljava/nio/file/Path;)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            areturn
        end local 2 // java.nio.file.Path file
        end local 1 // jdk.tools.jlink.plugin.ResourcePoolEntry$Type type
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Ljava/lang/String;
            0    1     1  type  Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;
            0    1     2  file  Ljava/nio/file/Path;
    MethodParameters:
      Name  Flags
      path  
      type  
      file  

  public static jdk.tools.jlink.plugin.ResourcePoolEntry create(java.lang.String, java.nio.file.Path);
    descriptor: (Ljava/lang/String;Ljava/nio/file/Path;)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String path
        start local 1 // java.nio.file.Path file
         0: .line 213
            aload 0 /* path */
            getstatic jdk.tools.jlink.plugin.ResourcePoolEntry$Type.CLASS_OR_RESOURCE:Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;
            aload 1 /* file */
            invokestatic jdk.tools.jlink.plugin.ResourcePoolEntry.create:(Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;Ljava/nio/file/Path;)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            areturn
        end local 1 // java.nio.file.Path file
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Ljava/lang/String;
            0    1     1  file  Ljava/nio/file/Path;
    MethodParameters:
      Name  Flags
      path  
      file  

  public static jdk.tools.jlink.plugin.ResourcePoolEntry createSymLink(java.lang.String, jdk.tools.jlink.plugin.ResourcePoolEntry$Type, jdk.tools.jlink.plugin.ResourcePoolEntry);
    descriptor: (Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.String path
        start local 1 // jdk.tools.jlink.plugin.ResourcePoolEntry$Type type
        start local 2 // jdk.tools.jlink.plugin.ResourcePoolEntry target
         0: .line 230
            aload 0 /* path */
            aload 1 /* type */
            aload 2 /* target */
            invokestatic jdk.tools.jlink.internal.ResourcePoolEntryFactory.createSymbolicLink:(Ljava/lang/String;Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;Ljdk/tools/jlink/plugin/ResourcePoolEntry;)Ljdk/tools/jlink/plugin/ResourcePoolEntry;
            areturn
        end local 2 // jdk.tools.jlink.plugin.ResourcePoolEntry target
        end local 1 // jdk.tools.jlink.plugin.ResourcePoolEntry$Type type
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    path  Ljava/lang/String;
            0    1     1    type  Ljdk/tools/jlink/plugin/ResourcePoolEntry$Type;
            0    1     2  target  Ljdk/tools/jlink/plugin/ResourcePoolEntry;
    MethodParameters:
        Name  Flags
      path    
      type    
      target  
}
SourceFile: "ResourcePoolEntry.java"
NestMembers:
  jdk.tools.jlink.plugin.ResourcePoolEntry$Type
InnerClasses:
  public final Type = jdk.tools.jlink.plugin.ResourcePoolEntry$Type of jdk.tools.jlink.plugin.ResourcePoolEntry