class io.vertx.ext.mail.mailencoder.AttachmentPart extends io.vertx.ext.mail.mailencoder.EncodedPart
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.vertx.ext.mail.mailencoder.AttachmentPart
super_class: io.vertx.ext.mail.mailencoder.EncodedPart
{
private static final io.vertx.core.impl.logging.Logger log;
descriptor: Lio/vertx/core/impl/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean CACHE_IN_FILE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.lang.String cachedFilePath;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private final io.vertx.ext.mail.MailAttachment attachment;
descriptor: Lio/vertx/ext/mail/MailAttachment;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/vertx/ext/mail/mailencoder/AttachmentPart;
invokestatic io.vertx.core.impl.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/impl/logging/Logger;
putstatic io.vertx.ext.mail.mailencoder.AttachmentPart.log:Lio/vertx/core/impl/logging/Logger;
1: ldc "vertx.mail.attachment.cache.file"
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
putstatic io.vertx.ext.mail.mailencoder.AttachmentPart.CACHE_IN_FILE:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(io.vertx.ext.mail.MailAttachment);
descriptor: (Lio/vertx/ext/mail/MailAttachment;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokespecial io.vertx.ext.mail.mailencoder.EncodedPart.<init>:()V
1: aload 0
aload 1
putfield io.vertx.ext.mail.mailencoder.AttachmentPart.attachment:Lio/vertx/ext/mail/MailAttachment;
2: aload 0
getfield io.vertx.ext.mail.mailencoder.AttachmentPart.attachment:Lio/vertx/ext/mail/MailAttachment;
invokeinterface io.vertx.ext.mail.MailAttachment.getData:()Lio/vertx/core/buffer/Buffer;
ifnonnull 4
aload 0
getfield io.vertx.ext.mail.mailencoder.AttachmentPart.attachment:Lio/vertx/ext/mail/MailAttachment;
invokeinterface io.vertx.ext.mail.MailAttachment.getStream:()Lio/vertx/core/streams/ReadStream;
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "Either data or stream of the attachment cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: io.vertx.ext.mail.mailencoder.AttachmentPart io.vertx.ext.mail.MailAttachment
StackMap stack:
aload 0
getfield io.vertx.ext.mail.mailencoder.AttachmentPart.attachment:Lio/vertx/ext/mail/MailAttachment;
invokeinterface io.vertx.ext.mail.MailAttachment.getStream:()Lio/vertx/core/streams/ReadStream;
ifnull 6
aload 0
getfield io.vertx.ext.mail.mailencoder.AttachmentPart.attachment:Lio/vertx/ext/mail/MailAttachment;
invokeinterface io.vertx.ext.mail.MailAttachment.getSize:()I
ifge 6
5: getstatic io.vertx.ext.mail.mailencoder.AttachmentPart.log:Lio/vertx/core/impl/logging/Logger;
ldc "Size of the attachment should be specified when using stream"
invokeinterface io.vertx.core.impl.logging.Logger.warn:(Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
aload 0
invokestatic io.vertx.core.MultiMap.caseInsensitiveMultiMap:()Lio/vertx/core/MultiMap;
putfield io.vertx.ext.mail.mailencoder.AttachmentPart.headers:Lio/vertx/core/MultiMap;
7: aload 1
invokeinterface io.vertx.ext.mail.MailAttachment.getName:()Ljava/lang/String;
astore 2
start local 2 8: aload 1
invokeinterface io.vertx.ext.mail.MailAttachment.getContentType:()Ljava/lang/String;
ifnull 11
9: aload 1
invokeinterface io.vertx.ext.mail.MailAttachment.getContentType:()Ljava/lang/String;
astore 3
start local 3 10: goto 12
end local 3 11: StackMap locals: java.lang.String
StackMap stack:
ldc "application/octet-stream"
astore 3
start local 3 12: StackMap locals: java.lang.String
StackMap stack:
aload 2
ifnull 15
13: aload 3
invokevirtual java.lang.String.length:()I
bipush 22
iadd
istore 4
start local 4 14: new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "; name=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
iload 4
invokestatic io.vertx.ext.mail.mailencoder.Utils.encodeHeader:(Ljava/lang/String;I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
end local 4 15: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.mail.mailencoder.AttachmentPart.headers:Lio/vertx/core/MultiMap;
ldc "Content-Type"
aload 3
invokeinterface io.vertx.core.MultiMap.set:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/MultiMap;
pop
16: aload 0
getfield io.vertx.ext.mail.mailencoder.AttachmentPart.headers:Lio/vertx/core/MultiMap;
ldc "Content-Transfer-Encoding"
ldc "base64"
invokeinterface io.vertx.core.MultiMap.set:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/MultiMap;
pop
17: aload 1
invokeinterface io.vertx.ext.mail.MailAttachment.getDescription:()Ljava/lang/String;
ifnull 19
18: aload 0
getfield io.vertx.ext.mail.mailencoder.AttachmentPart.headers:Lio/vertx/core/MultiMap;
ldc "Content-Description"
aload 1
invokeinterface io.vertx.ext.mail.MailAttachment.getDescription:()Ljava/lang/String;
invokeinterface io.vertx.core.MultiMap.set:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/MultiMap;
pop
19: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.vertx.ext.mail.MailAttachment.getDisposition:()Ljava/lang/String;
ifnull 22
20: aload 1
invokeinterface io.vertx.ext.mail.MailAttachment.getDisposition:()Ljava/lang/String;
astore 4
start local 4 21: goto 23
end local 4 22: StackMap locals:
StackMap stack:
ldc "attachment"
astore 4
start local 4 23: StackMap locals: java.lang.String
StackMap stack:
aload 2
ifnull 26
24: aload 4
invokevirtual java.lang.String.length:()I
bipush 33
iadd
istore 5
start local 5 25: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "; filename=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
iload 5
invokestatic io.vertx.ext.mail.mailencoder.Utils.encodeHeader:(Ljava/lang/String;I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
end local 5 26: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.mail.mailencoder.AttachmentPart.headers:Lio/vertx/core/MultiMap;
ldc "Content-Disposition"
aload 4
invokeinterface io.vertx.core.MultiMap.set:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/MultiMap;
pop
27: aload 1
invokeinterface io.vertx.ext.mail.MailAttachment.getContentId:()Ljava/lang/String;
ifnull 29
28: aload 0
getfield io.vertx.ext.mail.mailencoder.AttachmentPart.headers:Lio/vertx/core/MultiMap;
ldc "Content-ID"
aload 1
invokeinterface io.vertx.ext.mail.MailAttachment.getContentId:()Ljava/lang/String;
invokeinterface io.vertx.core.MultiMap.set:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/MultiMap;
pop
29: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.vertx.ext.mail.MailAttachment.getHeaders:()Lio/vertx/core/MultiMap;
ifnull 31
30: aload 0
getfield io.vertx.ext.mail.mailencoder.AttachmentPart.headers:Lio/vertx/core/MultiMap;
aload 1
invokeinterface io.vertx.ext.mail.MailAttachment.getHeaders:()Lio/vertx/core/MultiMap;
invokeinterface io.vertx.core.MultiMap.addAll:(Lio/vertx/core/MultiMap;)Lio/vertx/core/MultiMap;
pop
31: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.vertx.ext.mail.MailAttachment.getData:()Lio/vertx/core/buffer/Buffer;
ifnull 33
32: aload 0
aload 1
invokeinterface io.vertx.ext.mail.MailAttachment.getData:()Lio/vertx/core/buffer/Buffer;
invokeinterface io.vertx.core.buffer.Buffer.getBytes:()[B
invokestatic io.vertx.ext.mail.mailencoder.Utils.base64:([B)Ljava/lang/String;
putfield io.vertx.ext.mail.mailencoder.AttachmentPart.part:Ljava/lang/String;
33: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lio/vertx/ext/mail/mailencoder/AttachmentPart;
0 34 1 attachment Lio/vertx/ext/mail/MailAttachment;
8 34 2 name Ljava/lang/String;
10 11 3 contentType Ljava/lang/String;
12 34 3 contentType Ljava/lang/String;
14 15 4 index I
21 22 4 disposition Ljava/lang/String;
23 34 4 disposition Ljava/lang/String;
25 26 5 index I
MethodParameters:
Name Flags
attachment
public synchronized io.vertx.core.streams.ReadStream<io.vertx.core.buffer.Buffer> bodyStream(io.vertx.core.Context);
descriptor: (Lio/vertx/core/Context;)Lio/vertx/core/streams/ReadStream;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.mail.mailencoder.AttachmentPart.attachment:Lio/vertx/ext/mail/MailAttachment;
invokeinterface io.vertx.ext.mail.MailAttachment.getStream:()Lio/vertx/core/streams/ReadStream;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: io.vertx.core.streams.ReadStream
StackMap stack:
new io.vertx.ext.mail.mailencoder.AttachmentPart$BodyReadStream
dup
aload 0
aload 1
aload 2
iconst_0
invokespecial io.vertx.ext.mail.mailencoder.AttachmentPart$BodyReadStream.<init>:(Lio/vertx/ext/mail/mailencoder/AttachmentPart;Lio/vertx/core/Context;Lio/vertx/core/streams/ReadStream;Z)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/ext/mail/mailencoder/AttachmentPart;
0 4 1 context Lio/vertx/core/Context;
1 4 2 attachStream Lio/vertx/core/streams/ReadStream<Lio/vertx/core/buffer/Buffer;>;
Signature: (Lio/vertx/core/Context;)Lio/vertx/core/streams/ReadStream<Lio/vertx/core/buffer/Buffer;>;
MethodParameters:
Name Flags
context
public synchronized io.vertx.core.streams.ReadStream<io.vertx.core.buffer.Buffer> dkimBodyStream(io.vertx.core.Context);
descriptor: (Lio/vertx/core/Context;)Lio/vertx/core/streams/ReadStream;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.mail.mailencoder.AttachmentPart.attachment:Lio/vertx/ext/mail/MailAttachment;
invokeinterface io.vertx.ext.mail.MailAttachment.getStream:()Lio/vertx/core/streams/ReadStream;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: io.vertx.core.streams.ReadStream
StackMap stack:
new io.vertx.ext.mail.mailencoder.AttachmentPart$BodyReadStream
dup
aload 0
aload 1
aload 2
iconst_1
invokespecial io.vertx.ext.mail.mailencoder.AttachmentPart$BodyReadStream.<init>:(Lio/vertx/ext/mail/mailencoder/AttachmentPart;Lio/vertx/core/Context;Lio/vertx/core/streams/ReadStream;Z)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/ext/mail/mailencoder/AttachmentPart;
0 4 1 context Lio/vertx/core/Context;
1 4 2 attachStream Lio/vertx/core/streams/ReadStream<Lio/vertx/core/buffer/Buffer;>;
Signature: (Lio/vertx/core/Context;)Lio/vertx/core/streams/ReadStream<Lio/vertx/core/buffer/Buffer;>;
MethodParameters:
Name Flags
context
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.mail.mailencoder.AttachmentPart.attachment:Lio/vertx/ext/mail/MailAttachment;
invokeinterface io.vertx.ext.mail.MailAttachment.getData:()Lio/vertx/core/buffer/Buffer;
ifnonnull 4
1: aload 0
getfield io.vertx.ext.mail.mailencoder.AttachmentPart.attachment:Lio/vertx/ext/mail/MailAttachment;
invokeinterface io.vertx.ext.mail.MailAttachment.getSize:()I
ifge 2
iconst_0
goto 3
StackMap locals:
StackMap stack:
2: aload 0
getfield io.vertx.ext.mail.mailencoder.AttachmentPart.attachment:Lio/vertx/ext/mail/MailAttachment;
invokeinterface io.vertx.ext.mail.MailAttachment.getSize:()I
iconst_3
idiv
iconst_4
imul
StackMap locals:
StackMap stack: int
3: ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokespecial io.vertx.ext.mail.mailencoder.EncodedPart.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/ext/mail/mailencoder/AttachmentPart;
}
SourceFile: "AttachmentPart.java"
NestMembers:
io.vertx.ext.mail.mailencoder.AttachmentPart$BodyReadStream
InnerClasses:
private BodyReadStream = io.vertx.ext.mail.mailencoder.AttachmentPart$BodyReadStream of io.vertx.ext.mail.mailencoder.AttachmentPart