public abstract class javax.imageio.spi.ImageOutputStreamSpi extends javax.imageio.spi.IIOServiceProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javax.imageio.spi.ImageOutputStreamSpi
  super_class: javax.imageio.spi.IIOServiceProvider
{
  protected java.lang.Class<?> outputClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/lang/Class<*>;

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.spi.ImageOutputStreamSpi this
         0: .line 70
            aload 0 /* this */
            invokespecial javax.imageio.spi.IIOServiceProvider.<init>:()V
         1: .line 71
            return
        end local 0 // javax.imageio.spi.ImageOutputStreamSpi this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/imageio/spi/ImageOutputStreamSpi;

  public void <init>(java.lang.String, java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // javax.imageio.spi.ImageOutputStreamSpi this
        start local 1 // java.lang.String vendorName
        start local 2 // java.lang.String version
        start local 3 // java.lang.Class outputClass
         0: .line 91
            aload 0 /* this */
            aload 1 /* vendorName */
            aload 2 /* version */
            invokespecial javax.imageio.spi.IIOServiceProvider.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 92
            aload 0 /* this */
            aload 3 /* outputClass */
            putfield javax.imageio.spi.ImageOutputStreamSpi.outputClass:Ljava/lang/Class;
         2: .line 93
            return
        end local 3 // java.lang.Class outputClass
        end local 2 // java.lang.String version
        end local 1 // java.lang.String vendorName
        end local 0 // javax.imageio.spi.ImageOutputStreamSpi this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Ljavax/imageio/spi/ImageOutputStreamSpi;
            0    3     1   vendorName  Ljava/lang/String;
            0    3     2      version  Ljava/lang/String;
            0    3     3  outputClass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class<*>;)V
    MethodParameters:
             Name  Flags
      vendorName   
      version      
      outputClass  

  public java.lang.Class<?> getOutputClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.spi.ImageOutputStreamSpi this
         0: .line 111
            aload 0 /* this */
            getfield javax.imageio.spi.ImageOutputStreamSpi.outputClass:Ljava/lang/Class;
            areturn
        end local 0 // javax.imageio.spi.ImageOutputStreamSpi this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/spi/ImageOutputStreamSpi;
    Signature: ()Ljava/lang/Class<*>;

  public boolean canUseCacheFile();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.spi.ImageOutputStreamSpi this
         0: .line 128
            iconst_0
            ireturn
        end local 0 // javax.imageio.spi.ImageOutputStreamSpi this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/spi/ImageOutputStreamSpi;

  public boolean needsCacheFile();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.spi.ImageOutputStreamSpi this
         0: .line 142
            iconst_0
            ireturn
        end local 0 // javax.imageio.spi.ImageOutputStreamSpi this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/spi/ImageOutputStreamSpi;

  public abstract javax.imageio.stream.ImageOutputStream createOutputStreamInstance(java.lang.Object, boolean, java.io.File);
    descriptor: (Ljava/lang/Object;ZLjava/io/File;)Ljavax/imageio/stream/ImageOutputStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      output    
      useCache  
      cacheDir  

  public javax.imageio.stream.ImageOutputStream createOutputStreamInstance(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljavax/imageio/stream/ImageOutputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javax.imageio.spi.ImageOutputStreamSpi this
        start local 1 // java.lang.Object output
         0: .line 198
            aload 0 /* this */
            aload 1 /* output */
            iconst_1
            aconst_null
            invokevirtual javax.imageio.spi.ImageOutputStreamSpi.createOutputStreamInstance:(Ljava/lang/Object;ZLjava/io/File;)Ljavax/imageio/stream/ImageOutputStream;
            areturn
        end local 1 // java.lang.Object output
        end local 0 // javax.imageio.spi.ImageOutputStreamSpi this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljavax/imageio/spi/ImageOutputStreamSpi;
            0    1     1  output  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      output  
}
SourceFile: "ImageOutputStreamSpi.java"