public final class org.jboss.resteasy.plugins.providers.IIOImageProviderHelper
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.jboss.resteasy.plugins.providers.IIOImageProviderHelper
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jboss/resteasy/plugins/providers/IIOImageProviderHelper;
public static javax.imageio.ImageWriter getImageWriterByMediaType(javax.ws.rs.core.MediaType);
descriptor: (Ljavax/ws/rs/core/MediaType;)Ljavax/imageio/ImageWriter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual javax.ws.rs.core.MediaType.toString:()Ljava/lang/String;
invokestatic javax.imageio.ImageIO.getImageWritersByMIMEType:(Ljava/lang/String;)Ljava/util/Iterator;
astore 1
start local 1 1: aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.imageio.ImageWriter
astore 2
start local 2 2: aload 2
ifnonnull 5
3: invokestatic javax.ws.rs.core.Response.serverError:()Ljavax/ws/rs/core/Response$ResponseBuilder;
ldc ""
invokevirtual javax.ws.rs.core.Response$ResponseBuilder.entity:(Ljava/lang/Object;)Ljavax/ws/rs/core/Response$ResponseBuilder;
invokevirtual javax.ws.rs.core.Response$ResponseBuilder.build:()Ljavax/ws/rs/core/Response;
astore 3
start local 3 4: new javax.ws.rs.WebApplicationException
dup
aload 3
invokespecial javax.ws.rs.WebApplicationException.<init>:(Ljavax/ws/rs/core/Response;)V
athrow
end local 3 5: StackMap locals: java.util.Iterator javax.imageio.ImageWriter
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 mediaType Ljavax/ws/rs/core/MediaType;
1 6 1 writers Ljava/util/Iterator<Ljavax/imageio/ImageWriter;>;
2 6 2 writer Ljavax/imageio/ImageWriter;
4 5 3 response Ljavax/ws/rs/core/Response;
MethodParameters:
Name Flags
mediaType
public static javax.imageio.IIOImage readImage(java.io.InputStream, javax.imageio.ImageReader, int);
descriptor: (Ljava/io/InputStream;Ljavax/imageio/ImageReader;I)Ljavax/imageio/IIOImage;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic javax.imageio.ImageIO.createImageInputStream:(Ljava/lang/Object;)Ljavax/imageio/stream/ImageInputStream;
astore 3
start local 3 1: aload 1
aload 3
iconst_0
invokevirtual javax.imageio.ImageReader.setInput:(Ljava/lang/Object;Z)V
2: aload 1
iload 2
aconst_null
invokevirtual javax.imageio.ImageReader.readAll:(ILjavax/imageio/ImageReadParam;)Ljavax/imageio/IIOImage;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 in Ljava/io/InputStream;
0 3 1 reader Ljavax/imageio/ImageReader;
0 3 2 imageIndex I
1 3 3 iis Ljavax/imageio/stream/ImageInputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
reader
imageIndex
public static javax.imageio.ImageReader getImageReaderByMediaType(javax.ws.rs.core.MediaType);
descriptor: (Ljavax/ws/rs/core/MediaType;)Ljavax/imageio/ImageReader;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual javax.ws.rs.core.MediaType.toString:()Ljava/lang/String;
invokestatic javax.imageio.ImageIO.getImageReadersByMIMEType:(Ljava/lang/String;)Ljava/util/Iterator;
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: goto 4
3: StackMap locals: java.util.Iterator javax.imageio.ImageReader
StackMap stack:
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.imageio.ImageReader
astore 2
4: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
5: aload 2
ifnonnull 11
6: invokestatic javax.imageio.ImageIO.getReaderMIMETypes:()[Ljava/lang/String;
astore 3
start local 3 7: getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.LOGGER:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/LogMessages;
aload 0
aload 3
invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.readerNotFound:(Ljavax/ws/rs/core/MediaType;[Ljava/lang/String;)V
8: aload 3
invokestatic org.jboss.resteasy.plugins.providers.ProviderHelper.getAvailableVariants:([Ljava/lang/String;)Ljava/util/List;
astore 4
start local 4 9: aload 4
invokestatic javax.ws.rs.core.Response.notAcceptable:(Ljava/util/List;)Ljavax/ws/rs/core/Response$ResponseBuilder;
getstatic javax.ws.rs.core.Response$Status.NOT_ACCEPTABLE:Ljavax/ws/rs/core/Response$Status;
invokevirtual javax.ws.rs.core.Response$ResponseBuilder.status:(Ljavax/ws/rs/core/Response$Status;)Ljavax/ws/rs/core/Response$ResponseBuilder;
invokevirtual javax.ws.rs.core.Response$ResponseBuilder.build:()Ljavax/ws/rs/core/Response;
astore 5
start local 5 10: new javax.ws.rs.WebApplicationException
dup
aload 5
invokespecial javax.ws.rs.WebApplicationException.<init>:(Ljavax/ws/rs/core/Response;)V
athrow
end local 5 end local 4 end local 3 11: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 mediaType Ljavax/ws/rs/core/MediaType;
1 12 1 readers Ljava/util/Iterator<Ljavax/imageio/ImageReader;>;
2 12 2 reader Ljavax/imageio/ImageReader;
7 11 3 availableTypes [Ljava/lang/String;
9 11 4 variants Ljava/util/List<Ljavax/ws/rs/core/Variant;>;
10 11 5 response Ljavax/ws/rs/core/Response;
MethodParameters:
Name Flags
mediaType
public static void writeImage(java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.imageio.ImageWriter, java.io.OutputStream, javax.imageio.IIOImage);
descriptor: ([Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/imageio/ImageWriter;Ljava/io/OutputStream;Ljavax/imageio/IIOImage;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ldc "image/jpeg"
invokestatic javax.ws.rs.core.MediaType.valueOf:(Ljava/lang/String;)Ljavax/ws/rs/core/MediaType;
invokevirtual javax.ws.rs.core.MediaType.equals:(Ljava/lang/Object;)Z
ifeq 3
1: new javax.imageio.plugins.jpeg.JPEGImageWriteParam
dup
getstatic java.util.Locale.US:Ljava/util/Locale;
invokespecial javax.imageio.plugins.jpeg.JPEGImageWriteParam.<init>:(Ljava/util/Locale;)V
astore 5
start local 5 2: goto 4
end local 5 3: StackMap locals:
StackMap stack:
aload 2
invokevirtual javax.imageio.ImageWriter.getDefaultWriteParam:()Ljavax/imageio/ImageWriteParam;
astore 5
start local 5 4: StackMap locals: javax.imageio.ImageWriteParam
StackMap stack:
aload 0
ldc Lorg/jboss/resteasy/annotations/providers/img/ImageWriterParams;
invokestatic org.jboss.resteasy.spi.util.FindAnnotation.findAnnotation:([Ljava/lang/annotation/Annotation;Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.jboss.resteasy.annotations.providers.img.ImageWriterParams
5: astore 6
start local 6 6: aload 6
ifnull 11
7: aload 5
invokevirtual javax.imageio.ImageWriteParam.canWriteCompressed:()Z
ifeq 14
8: aload 5
aload 6
invokeinterface org.jboss.resteasy.annotations.providers.img.ImageWriterParams.compressionMode:()I
invokevirtual javax.imageio.ImageWriteParam.setCompressionMode:(I)V
9: aload 5
aload 6
invokeinterface org.jboss.resteasy.annotations.providers.img.ImageWriterParams.compressionQuality:()F
invokevirtual javax.imageio.ImageWriteParam.setCompressionQuality:(F)V
10: goto 14
11: StackMap locals: org.jboss.resteasy.annotations.providers.img.ImageWriterParams
StackMap stack:
aload 5
invokevirtual javax.imageio.ImageWriteParam.canWriteCompressed:()Z
ifeq 14
12: aload 5
iconst_2
invokevirtual javax.imageio.ImageWriteParam.setCompressionMode:(I)V
13: aload 5
fconst_1
invokevirtual javax.imageio.ImageWriteParam.setCompressionQuality:(F)V
14: StackMap locals:
StackMap stack:
new java.io.BufferedOutputStream
dup
aload 3
sipush 2048
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;I)V
astore 7
start local 7 15: aload 7
invokestatic javax.imageio.ImageIO.createImageOutputStream:(Ljava/lang/Object;)Ljavax/imageio/stream/ImageOutputStream;
astore 8
start local 8 16: aload 2
aload 8
invokevirtual javax.imageio.ImageWriter.setOutput:(Ljava/lang/Object;)V
17: aload 2
aconst_null
aload 4
aload 5
invokevirtual javax.imageio.ImageWriter.write:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
18: goto 22
19: StackMap locals: java.lang.annotation.Annotation[] javax.ws.rs.core.MediaType javax.imageio.ImageWriter java.io.OutputStream javax.imageio.IIOImage javax.imageio.ImageWriteParam org.jboss.resteasy.annotations.providers.img.ImageWriterParams java.io.BufferedOutputStream javax.imageio.stream.ImageOutputStream
StackMap stack: java.lang.Throwable
astore 9
20: aload 2
invokevirtual javax.imageio.ImageWriter.dispose:()V
21: aload 9
athrow
22: StackMap locals:
StackMap stack:
aload 2
invokevirtual javax.imageio.ImageWriter.dispose:()V
23: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 annotations [Ljava/lang/annotation/Annotation;
0 24 1 mediaType Ljavax/ws/rs/core/MediaType;
0 24 2 writer Ljavax/imageio/ImageWriter;
0 24 3 out Ljava/io/OutputStream;
0 24 4 image Ljavax/imageio/IIOImage;
2 3 5 param Ljavax/imageio/ImageWriteParam;
4 24 5 param Ljavax/imageio/ImageWriteParam;
6 24 6 writerParams Lorg/jboss/resteasy/annotations/providers/img/ImageWriterParams;
15 24 7 buff Ljava/io/BufferedOutputStream;
16 24 8 ios Ljavax/imageio/stream/ImageOutputStream;
Exception table:
from to target type
16 19 19 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
annotations
mediaType
writer
out
image
}
SourceFile: "IIOImageProviderHelper.java"
InnerClasses:
public abstract ResponseBuilder = javax.ws.rs.core.Response$ResponseBuilder of javax.ws.rs.core.Response
public final Status = javax.ws.rs.core.Response$Status of javax.ws.rs.core.Response