public class org.apache.catalina.valves.AbstractAccessLogValve$ConnectionStatusElement implements org.apache.catalina.valves.AbstractAccessLogValve$AccessLogElement
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.catalina.valves.AbstractAccessLogValve$ConnectionStatusElement
super_class: java.lang.Object
{
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 // org.apache.catalina.valves.AbstractAccessLogValve$ConnectionStatusElement this
0: .line 1613
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.apache.catalina.valves.AbstractAccessLogValve$ConnectionStatusElement this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/valves/AbstractAccessLogValve$ConnectionStatusElement;
public void addElement(java.io.CharArrayWriter, java.util.Date, org.apache.catalina.connector.Request, org.apache.catalina.connector.Response, long);
descriptor: (Ljava/io/CharArrayWriter;Ljava/util/Date;Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=10, args_size=6
start local 0 // org.apache.catalina.valves.AbstractAccessLogValve$ConnectionStatusElement this
start local 1 // java.io.CharArrayWriter buf
start local 2 // java.util.Date date
start local 3 // org.apache.catalina.connector.Request request
start local 4 // org.apache.catalina.connector.Response response
start local 5 // long time
0: .line 1616
aload 4 /* response */
ifnull 20
aload 3 /* request */
ifnull 20
1: .line 1617
iconst_0
istore 7 /* statusFound */
start local 7 // boolean statusFound
2: .line 1620
new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
astore 8 /* isIoAllowed */
start local 8 // java.util.concurrent.atomic.AtomicBoolean isIoAllowed
3: .line 1621
aload 3 /* request */
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
getstatic org.apache.coyote.ActionCode.IS_IO_ALLOWED:Lorg/apache/coyote/ActionCode;
aload 8 /* isIoAllowed */
invokevirtual org.apache.coyote.Request.action:(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V
4: .line 1622
aload 8 /* isIoAllowed */
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ifne 8
5: .line 1623
aload 1 /* buf */
bipush 88
invokevirtual java.io.CharArrayWriter.append:(C)Ljava/io/CharArrayWriter;
pop
6: .line 1624
iconst_1
istore 7 /* statusFound */
7: .line 1625
goto 13
8: .line 1627
StackMap locals: int java.util.concurrent.atomic.AtomicBoolean
StackMap stack:
aload 4 /* response */
invokevirtual org.apache.catalina.connector.Response.isError:()Z
ifeq 13
9: .line 1628
aload 3 /* request */
ldc "jakarta.servlet.error.exception"
invokevirtual org.apache.catalina.connector.Request.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Throwable
astore 9 /* ex */
start local 9 // java.lang.Throwable ex
10: .line 1629
aload 9 /* ex */
instanceof org.apache.catalina.connector.ClientAbortException
ifeq 13
11: .line 1630
aload 1 /* buf */
bipush 88
invokevirtual java.io.CharArrayWriter.append:(C)Ljava/io/CharArrayWriter;
pop
12: .line 1631
iconst_1
istore 7 /* statusFound */
end local 9 // java.lang.Throwable ex
13: .line 1637
StackMap locals:
StackMap stack:
iload 7 /* statusFound */
ifne 21
14: .line 1638
aload 4 /* response */
ldc "Connection"
invokevirtual org.apache.catalina.connector.Response.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 9 /* connStatus */
start local 9 // java.lang.String connStatus
15: .line 1639
ldc "close"
aload 9 /* connStatus */
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 18
16: .line 1640
aload 1 /* buf */
bipush 45
invokevirtual java.io.CharArrayWriter.append:(C)Ljava/io/CharArrayWriter;
pop
17: .line 1641
goto 21
18: .line 1642
StackMap locals: java.lang.String
StackMap stack:
aload 1 /* buf */
bipush 43
invokevirtual java.io.CharArrayWriter.append:(C)Ljava/io/CharArrayWriter;
pop
end local 9 // java.lang.String connStatus
end local 8 // java.util.concurrent.atomic.AtomicBoolean isIoAllowed
end local 7 // boolean statusFound
19: .line 1645
goto 21
20: .line 1647
StackMap locals:
StackMap stack:
aload 1 /* buf */
bipush 63
invokevirtual java.io.CharArrayWriter.append:(C)Ljava/io/CharArrayWriter;
pop
21: .line 1649
StackMap locals:
StackMap stack:
return
end local 5 // long time
end local 4 // org.apache.catalina.connector.Response response
end local 3 // org.apache.catalina.connector.Request request
end local 2 // java.util.Date date
end local 1 // java.io.CharArrayWriter buf
end local 0 // org.apache.catalina.valves.AbstractAccessLogValve$ConnectionStatusElement this
LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/apache/catalina/valves/AbstractAccessLogValve$ConnectionStatusElement;
0 22 1 buf Ljava/io/CharArrayWriter;
0 22 2 date Ljava/util/Date;
0 22 3 request Lorg/apache/catalina/connector/Request;
0 22 4 response Lorg/apache/catalina/connector/Response;
0 22 5 time J
2 19 7 statusFound Z
3 19 8 isIoAllowed Ljava/util/concurrent/atomic/AtomicBoolean;
10 13 9 ex Ljava/lang/Throwable;
15 19 9 connStatus Ljava/lang/String;
MethodParameters:
Name Flags
buf
date
request
response
time
}
SourceFile: "AbstractAccessLogValve.java"
NestHost: org.apache.catalina.valves.AbstractAccessLogValve
InnerClasses:
protected abstract AccessLogElement = org.apache.catalina.valves.AbstractAccessLogValve$AccessLogElement of org.apache.catalina.valves.AbstractAccessLogValve
protected ConnectionStatusElement = org.apache.catalina.valves.AbstractAccessLogValve$ConnectionStatusElement of org.apache.catalina.valves.AbstractAccessLogValve