class org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter extends org.apache.fop.pdf.PDFFilter
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter
  super_class: org.apache.fop.pdf.PDFFilter
{
  private org.apache.fop.pdf.PDFObjectNumber streamNumber;
    descriptor: Lorg/apache/fop/pdf/PDFObjectNumber;
    flags: (0x0002) ACC_PRIVATE

  private int streamGeneration;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  final org.apache.fop.pdf.PDFEncryptionJCE this$0;
    descriptor: Lorg/apache/fop/pdf/PDFEncryptionJCE;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.apache.fop.pdf.PDFEncryptionJCE, org.apache.fop.pdf.PDFObjectNumber, int);
    descriptor: (Lorg/apache/fop/pdf/PDFEncryptionJCE;Lorg/apache/fop/pdf/PDFObjectNumber;I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter this
        start local 2 // org.apache.fop.pdf.PDFObjectNumber streamNumber
        start local 3 // int streamGeneration
         0: .line 628
            aload 0 /* this */
            aload 1
            putfield org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter.this$0:Lorg/apache/fop/pdf/PDFEncryptionJCE;
            aload 0 /* this */
            invokespecial org.apache.fop.pdf.PDFFilter.<init>:()V
         1: .line 629
            aload 0 /* this */
            aload 2 /* streamNumber */
            putfield org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter.streamNumber:Lorg/apache/fop/pdf/PDFObjectNumber;
         2: .line 630
            aload 0 /* this */
            iload 3 /* streamGeneration */
            putfield org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter.streamGeneration:I
         3: .line 631
            return
        end local 3 // int streamGeneration
        end local 2 // org.apache.fop.pdf.PDFObjectNumber streamNumber
        end local 0 // org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/apache/fop/pdf/PDFEncryptionJCE$EncryptionFilter;
            0    4     2      streamNumber  Lorg/apache/fop/pdf/PDFObjectNumber;
            0    4     3  streamGeneration  I
    MethodParameters:
                  Name  Flags
      this$0            final
      streamNumber      
      streamGeneration  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter this
         0: .line 639
            ldc ""
            areturn
        end local 0 // org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/fop/pdf/PDFEncryptionJCE$EncryptionFilter;

  public org.apache.fop.pdf.PDFObject getDecodeParms();
    descriptor: ()Lorg/apache/fop/pdf/PDFObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter this
         0: .line 648
            aconst_null
            areturn
        end local 0 // org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/fop/pdf/PDFEncryptionJCE$EncryptionFilter;

  public java.io.OutputStream applyFilter(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)Ljava/io/OutputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter this
        start local 1 // java.io.OutputStream out
         0: .line 653
            aload 0 /* this */
            getfield org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter.this$0:Lorg/apache/fop/pdf/PDFEncryptionJCE;
            getfield org.apache.fop.pdf.PDFEncryptionJCE.useAlgorithm31a:Z
            ifeq 7
         1: .line 654
            bipush 16
            newarray 8
            astore 2 /* iv */
        start local 2 // byte[] iv
         2: .line 655
            aload 0 /* this */
            getfield org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter.this$0:Lorg/apache/fop/pdf/PDFEncryptionJCE;
            getfield org.apache.fop.pdf.PDFEncryptionJCE.random:Ljava/security/SecureRandom;
            aload 2 /* iv */
            invokevirtual java.security.SecureRandom.nextBytes:([B)V
         3: .line 656
            aload 0 /* this */
            getfield org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter.this$0:Lorg/apache/fop/pdf/PDFEncryptionJCE;
            getfield org.apache.fop.pdf.PDFEncryptionJCE.encryptionKey:[B
            iconst_0
            aload 2 /* iv */
            invokestatic org.apache.fop.pdf.PDFEncryptionJCE.initCipher:([BZ[B)Ljavax/crypto/Cipher;
            astore 3 /* cipher */
        start local 3 // javax.crypto.Cipher cipher
         4: .line 657
            aload 1 /* out */
            aload 2 /* iv */
            invokevirtual java.io.OutputStream.write:([B)V
         5: .line 658
            aload 1 /* out */
            invokevirtual java.io.OutputStream.flush:()V
         6: .line 659
            new javax.crypto.CipherOutputStream
            dup
            aload 1 /* out */
            aload 3 /* cipher */
            invokespecial javax.crypto.CipherOutputStream.<init>:(Ljava/io/OutputStream;Ljavax/crypto/Cipher;)V
            areturn
        end local 3 // javax.crypto.Cipher cipher
        end local 2 // byte[] iv
         7: .line 661
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter.this$0:Lorg/apache/fop/pdf/PDFEncryptionJCE;
            aload 0 /* this */
            getfield org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter.streamNumber:Lorg/apache/fop/pdf/PDFObjectNumber;
            invokevirtual org.apache.fop.pdf.PDFObjectNumber.getNumber:()I
            aload 0 /* this */
            getfield org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter.streamGeneration:I
            invokevirtual org.apache.fop.pdf.PDFEncryptionJCE.createEncryptionKey:(II)[B
            astore 2 /* key */
        start local 2 // byte[] key
         8: .line 662
            aload 2 /* key */
            invokestatic org.apache.fop.pdf.PDFEncryptionJCE.initCipher:([B)Ljavax/crypto/Cipher;
            astore 3 /* cipher */
        start local 3 // javax.crypto.Cipher cipher
         9: .line 663
            new javax.crypto.CipherOutputStream
            dup
            aload 1 /* out */
            aload 3 /* cipher */
            invokespecial javax.crypto.CipherOutputStream.<init>:(Ljava/io/OutputStream;Ljavax/crypto/Cipher;)V
            areturn
        end local 3 // javax.crypto.Cipher cipher
        end local 2 // byte[] key
        end local 1 // java.io.OutputStream out
        end local 0 // org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/apache/fop/pdf/PDFEncryptionJCE$EncryptionFilter;
            0   10     1     out  Ljava/io/OutputStream;
            2    7     2      iv  [B
            4    7     3  cipher  Ljavax/crypto/Cipher;
            8   10     2     key  [B
            9   10     3  cipher  Ljavax/crypto/Cipher;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   
}
SourceFile: "PDFEncryptionJCE.java"
NestHost: org.apache.fop.pdf.PDFEncryptionJCE
InnerClasses:
  private EncryptionFilter = org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter of org.apache.fop.pdf.PDFEncryptionJCE