public class org.jboss.resteasy.plugins.providers.DataSourceProvider extends org.jboss.resteasy.plugins.providers.AbstractEntityProvider<javax.activation.DataSource>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jboss.resteasy.plugins.providers.DataSourceProvider
super_class: org.jboss.resteasy.plugins.providers.AbstractEntityProvider
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.jboss.resteasy.plugins.providers.AbstractEntityProvider.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jboss/resteasy/plugins/providers/DataSourceProvider;
public static javax.activation.DataSource readDataSource(java.io.InputStream, javax.ws.rs.core.MediaType);
descriptor: (Ljava/io/InputStream;Ljavax/ws/rs/core/MediaType;)Ljavax/activation/DataSource;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=10, args_size=2
start local 0 start local 1 0: sipush 4096
newarray 8
astore 2
start local 2 1: aload 0
aload 2
iconst_0
aload 2
arraylength
invokevirtual java.io.InputStream.read:([BII)I
istore 3
start local 3 2: aconst_null
astore 4
start local 4 3: iload 3
ifle 19
4: sipush 4096
newarray 8
astore 5
start local 5 5: aload 0
aload 5
iconst_0
aload 5
arraylength
invokevirtual java.io.InputStream.read:([BII)I
istore 6
start local 6 6: iload 6
iconst_m1
if_icmple 19
7: ldc "resteasy-provider-datasource"
aconst_null
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 4
8: new java.io.FileOutputStream
dup
aload 4
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 7
start local 7 9: ldc Lorg/jboss/resteasy/plugins/server/Cleanables;
invokestatic org.jboss.resteasy.core.ResteasyContext.getContextData:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.jboss.resteasy.plugins.server.Cleanables
astore 8
start local 8 10: aload 8
ifnull 12
11: aload 8
new org.jboss.resteasy.plugins.providers.DataSourceProvider$TempFileCleanable
dup
aload 4
invokespecial org.jboss.resteasy.plugins.providers.DataSourceProvider$TempFileCleanable.<init>:(Ljava/io/File;)V
invokevirtual org.jboss.resteasy.plugins.server.Cleanables.addCleanable:(Lorg/jboss/resteasy/plugins/server/Cleanable;)V
12: StackMap locals: java.io.InputStream javax.ws.rs.core.MediaType byte[] int java.io.File byte[] int java.io.FileOutputStream org.jboss.resteasy.plugins.server.Cleanables
StackMap stack:
aload 7
aload 5
iconst_0
iload 6
invokevirtual java.io.FileOutputStream.write:([BII)V
13: aload 0
aload 7
invokestatic org.jboss.resteasy.plugins.providers.ProviderHelper.writeTo:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
14: goto 18
15: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
16: aload 7
invokevirtual java.io.FileOutputStream.close:()V
17: aload 9
athrow
18: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.io.FileOutputStream.close:()V
end local 8 end local 7 end local 6 end local 5 19: StackMap locals: java.io.InputStream javax.ws.rs.core.MediaType byte[] int java.io.File
StackMap stack:
iload 3
iconst_m1
if_icmpne 21
20: iconst_0
istore 3
21: StackMap locals:
StackMap stack:
new org.jboss.resteasy.plugins.providers.DataSourceProvider$SequencedDataSource
dup
aload 2
iconst_0
iload 3
aload 4
aload 1
invokevirtual javax.ws.rs.core.MediaType.toString:()Ljava/lang/String;
invokespecial org.jboss.resteasy.plugins.providers.DataSourceProvider$SequencedDataSource.<init>:([BIILjava/io/File;Ljava/lang/String;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 in Ljava/io/InputStream;
0 22 1 mediaType Ljavax/ws/rs/core/MediaType;
1 22 2 memoryBuffer [B
2 22 3 readCount I
3 22 4 tempFile Ljava/io/File;
5 19 5 buffer [B
6 19 6 count I
9 19 7 fos Ljava/io/FileOutputStream;
10 19 8 cleanables Lorg/jboss/resteasy/plugins/server/Cleanables;
Exception table:
from to target type
13 15 15 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in final
mediaType final
public boolean isReadable(java.lang.Class<?>, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType);
descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: ldc Ljavax/activation/DataSource;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jboss/resteasy/plugins/providers/DataSourceProvider;
0 1 1 type Ljava/lang/Class<*>;
0 1 2 genericType Ljava/lang/reflect/Type;
0 1 3 annotations [Ljava/lang/annotation/Annotation;
0 1 4 mediaType Ljavax/ws/rs/core/MediaType;
Signature: (Ljava/lang/Class<*>;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;)Z
MethodParameters:
Name Flags
type
genericType
annotations
mediaType
public javax.activation.DataSource readFrom(java.lang.Class<javax.activation.DataSource>, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap<java.lang.String, java.lang.String>, java.io.InputStream);
descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap;Ljava/io/InputStream;)Ljavax/activation/DataSource;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.LOGGER:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/LogMessages;
ldc "Provider : %s, Method : readFrom"
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
1: aload 5
invokestatic org.jboss.resteasy.util.NoContent.isContentLengthZero:(Ljavax/ws/rs/core/MultivaluedMap;)Z
ifeq 2
new java.io.ByteArrayInputStream
dup
iconst_0
newarray 8
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
aload 4
invokestatic org.jboss.resteasy.plugins.providers.DataSourceProvider.readDataSource:(Ljava/io/InputStream;Ljavax/ws/rs/core/MediaType;)Ljavax/activation/DataSource;
areturn
2: StackMap locals:
StackMap stack:
aload 6
aload 4
invokestatic org.jboss.resteasy.plugins.providers.DataSourceProvider.readDataSource:(Ljava/io/InputStream;Ljavax/ws/rs/core/MediaType;)Ljavax/activation/DataSource;
areturn
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 3 0 this Lorg/jboss/resteasy/plugins/providers/DataSourceProvider;
0 3 1 type Ljava/lang/Class<Ljavax/activation/DataSource;>;
0 3 2 genericType Ljava/lang/reflect/Type;
0 3 3 annotations [Ljava/lang/annotation/Annotation;
0 3 4 mediaType Ljavax/ws/rs/core/MediaType;
0 3 5 httpHeaders Ljavax/ws/rs/core/MultivaluedMap<Ljava/lang/String;Ljava/lang/String;>;
0 3 6 entityStream Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/Class<Ljavax/activation/DataSource;>;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap<Ljava/lang/String;Ljava/lang/String;>;Ljava/io/InputStream;)Ljavax/activation/DataSource;
MethodParameters:
Name Flags
type
genericType
annotations
mediaType
httpHeaders
entityStream
public boolean isWriteable(java.lang.Class<?>, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType);
descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: ldc Ljavax/activation/DataSource;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 1
aload 4
invokestatic org.jboss.resteasy.util.MediaTypeHelper.isBlacklisted:(Ljavax/ws/rs/core/MediaType;)Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jboss/resteasy/plugins/providers/DataSourceProvider;
0 2 1 type Ljava/lang/Class<*>;
0 2 2 genericType Ljava/lang/reflect/Type;
0 2 3 annotations [Ljava/lang/annotation/Annotation;
0 2 4 mediaType Ljavax/ws/rs/core/MediaType;
Signature: (Ljava/lang/Class<*>;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;)Z
MethodParameters:
Name Flags
type
genericType
annotations
mediaType
public void writeTo(javax.activation.DataSource, java.lang.Class<?>, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap<java.lang.String, java.lang.Object>, java.io.OutputStream);
descriptor: (Ljavax/activation/DataSource;Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap;Ljava/io/OutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=10, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.LOGGER:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/LogMessages;
ldc "Provider : %s, Method : writeTo"
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
1: aload 1
invokeinterface javax.activation.DataSource.getInputStream:()Ljava/io/InputStream;
astore 8
start local 8 2: aload 8
aload 7
invokestatic org.jboss.resteasy.plugins.providers.ProviderHelper.writeTo:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
3: goto 7
4: StackMap locals: org.jboss.resteasy.plugins.providers.DataSourceProvider javax.activation.DataSource java.lang.Class java.lang.reflect.Type java.lang.annotation.Annotation[] javax.ws.rs.core.MediaType javax.ws.rs.core.MultivaluedMap java.io.OutputStream java.io.InputStream
StackMap stack: java.lang.Throwable
astore 9
5: aload 8
invokevirtual java.io.InputStream.close:()V
6: aload 9
athrow
7: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.io.InputStream.close:()V
8: 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 9 0 this Lorg/jboss/resteasy/plugins/providers/DataSourceProvider;
0 9 1 dataSource Ljavax/activation/DataSource;
0 9 2 type Ljava/lang/Class<*>;
0 9 3 genericType Ljava/lang/reflect/Type;
0 9 4 annotations [Ljava/lang/annotation/Annotation;
0 9 5 mediaType Ljavax/ws/rs/core/MediaType;
0 9 6 httpHeaders Ljavax/ws/rs/core/MultivaluedMap<Ljava/lang/String;Ljava/lang/Object;>;
0 9 7 entityStream Ljava/io/OutputStream;
2 9 8 in Ljava/io/InputStream;
Exception table:
from to target type
2 4 4 any
Exceptions:
throws java.io.IOException
Signature: (Ljavax/activation/DataSource;Ljava/lang/Class<*>;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap<Ljava/lang/String;Ljava/lang/Object;>;Ljava/io/OutputStream;)V
MethodParameters:
Name Flags
dataSource
type
genericType
annotations
mediaType
httpHeaders
entityStream
public java.util.concurrent.CompletionStage<java.lang.Void> asyncWriteTo(javax.activation.DataSource, java.lang.Class<?>, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap<java.lang.String, java.lang.Object>, org.jboss.resteasy.spi.AsyncOutputStream);
descriptor: (Ljavax/activation/DataSource;Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap;Lorg/jboss/resteasy/spi/AsyncOutputStream;)Ljava/util/concurrent/CompletionStage;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.LOGGER:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/LogMessages;
ldc "Provider : %s, Method : writeTo"
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
1: aload 1
invokeinterface javax.activation.DataSource.getInputStream:()Ljava/io/InputStream;
astore 8
start local 8 2: aload 8
aload 7
invokestatic org.jboss.resteasy.plugins.providers.ProviderHelper.writeToAndCloseInput:(Ljava/io/InputStream;Lorg/jboss/resteasy/spi/AsyncOutputStream;)Ljava/util/concurrent/CompletionStage;
3: areturn
end local 8 4: StackMap locals:
StackMap stack: java.io.IOException
astore 8
start local 8 5: aload 8
invokestatic org.jboss.resteasy.plugins.providers.ProviderHelper.completedException:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletionStage;
areturn
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 6 0 this Lorg/jboss/resteasy/plugins/providers/DataSourceProvider;
0 6 1 dataSource Ljavax/activation/DataSource;
0 6 2 type Ljava/lang/Class<*>;
0 6 3 genericType Ljava/lang/reflect/Type;
0 6 4 annotations [Ljava/lang/annotation/Annotation;
0 6 5 mediaType Ljavax/ws/rs/core/MediaType;
0 6 6 httpHeaders Ljavax/ws/rs/core/MultivaluedMap<Ljava/lang/String;Ljava/lang/Object;>;
0 6 7 entityStream Lorg/jboss/resteasy/spi/AsyncOutputStream;
2 4 8 in Ljava/io/InputStream;
5 6 8 e Ljava/io/IOException;
Exception table:
from to target type
1 3 4 Class java.io.IOException
Signature: (Ljavax/activation/DataSource;Ljava/lang/Class<*>;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap<Ljava/lang/String;Ljava/lang/Object;>;Lorg/jboss/resteasy/spi/AsyncOutputStream;)Ljava/util/concurrent/CompletionStage<Ljava/lang/Void;>;
MethodParameters:
Name Flags
dataSource
type
genericType
annotations
mediaType
httpHeaders
entityStream
public void writeTo(java.lang.Object, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.OutputStream);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap;Ljava/io/OutputStream;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=8, locals=8, args_size=8
0: aload 0
aload 1
checkcast javax.activation.DataSource
aload 2
aload 3
aload 4
aload 5
aload 6
aload 7
invokevirtual org.jboss.resteasy.plugins.providers.DataSourceProvider.writeTo:(Ljavax/activation/DataSource;Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap;Ljava/io/OutputStream;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException, javax.ws.rs.WebApplicationException
public java.util.concurrent.CompletionStage asyncWriteTo(java.lang.Object, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, org.jboss.resteasy.spi.AsyncOutputStream);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap;Lorg/jboss/resteasy/spi/AsyncOutputStream;)Ljava/util/concurrent/CompletionStage;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=8, locals=8, args_size=8
0: aload 0
aload 1
checkcast javax.activation.DataSource
aload 2
aload 3
aload 4
aload 5
aload 6
aload 7
invokevirtual org.jboss.resteasy.plugins.providers.DataSourceProvider.asyncWriteTo:(Ljavax/activation/DataSource;Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap;Lorg/jboss/resteasy/spi/AsyncOutputStream;)Ljava/util/concurrent/CompletionStage;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object readFrom(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.InputStream);
descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap;Ljava/io/InputStream;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=7, locals=7, args_size=7
0: aload 0
aload 1
checkcast java.lang.Class
aload 2
aload 3
aload 4
aload 5
aload 6
invokevirtual org.jboss.resteasy.plugins.providers.DataSourceProvider.readFrom:(Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap;Ljava/io/InputStream;)Ljavax/activation/DataSource;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException, javax.ws.rs.WebApplicationException
}
Signature: Lorg/jboss/resteasy/plugins/providers/AbstractEntityProvider<Ljavax/activation/DataSource;>;
SourceFile: "DataSourceProvider.java"
NestMembers:
org.jboss.resteasy.plugins.providers.DataSourceProvider$SequencedDataSource org.jboss.resteasy.plugins.providers.DataSourceProvider$TempFileCleanable
InnerClasses:
protected SequencedDataSource = org.jboss.resteasy.plugins.providers.DataSourceProvider$SequencedDataSource of org.jboss.resteasy.plugins.providers.DataSourceProvider
private TempFileCleanable = org.jboss.resteasy.plugins.providers.DataSourceProvider$TempFileCleanable of org.jboss.resteasy.plugins.providers.DataSourceProvider
RuntimeVisibleAnnotations:
javax.ws.rs.ext.Provider()
javax.ws.rs.Consumes(value = {"*/*"})
javax.ws.rs.Produces(value = {"*/*"})