public class org.glassfish.jersey.server.Broadcaster<T> implements org.glassfish.jersey.server.BroadcasterListener<T>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.glassfish.jersey.server.Broadcaster
super_class: java.lang.Object
{
private final java.util.concurrent.CopyOnWriteArrayList<org.glassfish.jersey.server.BroadcasterListener<T>> listeners;
descriptor: Ljava/util/concurrent/CopyOnWriteArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/CopyOnWriteArrayList<Lorg/glassfish/jersey/server/BroadcasterListener<TT;>;>;
private final java.util.concurrent.ConcurrentLinkedQueue<org.glassfish.jersey.server.ChunkedOutput<T>> chunkedOutputs;
descriptor: Ljava/util/concurrent/ConcurrentLinkedQueue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentLinkedQueue<Lorg/glassfish/jersey/server/ChunkedOutput<TT;>;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Lorg/glassfish/jersey/server/Broadcaster;
invokespecial org.glassfish.jersey.server.Broadcaster.<init>:(Ljava/lang/Class;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/jersey/server/Broadcaster<TT;>;
protected void <init>(java.lang.Class<? extends org.glassfish.jersey.server.Broadcaster>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new java.util.concurrent.CopyOnWriteArrayList
dup
invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
putfield org.glassfish.jersey.server.Broadcaster.listeners:Ljava/util/concurrent/CopyOnWriteArrayList;
3: aload 0
4: new java.util.concurrent.ConcurrentLinkedQueue
dup
invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
putfield org.glassfish.jersey.server.Broadcaster.chunkedOutputs:Ljava/util/concurrent/ConcurrentLinkedQueue;
5: aload 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 7
6: aload 0
getfield org.glassfish.jersey.server.Broadcaster.listeners:Ljava/util/concurrent/CopyOnWriteArrayList;
aload 0
invokevirtual java.util.concurrent.CopyOnWriteArrayList.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals: org.glassfish.jersey.server.Broadcaster java.lang.Class
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/glassfish/jersey/server/Broadcaster<TT;>;
0 8 1 subclass Ljava/lang/Class<+Lorg/glassfish/jersey/server/Broadcaster;>;
Signature: (Ljava/lang/Class<+Lorg/glassfish/jersey/server/Broadcaster;>;)V
MethodParameters:
Name Flags
subclass final
public <OUT extends org.glassfish.jersey.server.ChunkedOutput<T>> boolean add();
descriptor: (Lorg/glassfish/jersey/server/ChunkedOutput;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.jersey.server.Broadcaster.chunkedOutputs:Ljava/util/concurrent/ConcurrentLinkedQueue;
aload 1
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.offer:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/server/Broadcaster<TT;>;
0 1 1 chunkedOutput TOUT;
Signature: <OUT:Lorg/glassfish/jersey/server/ChunkedOutput<TT;>;>(TOUT;)Z
MethodParameters:
Name Flags
chunkedOutput final
public <OUT extends org.glassfish.jersey.server.ChunkedOutput<T>> boolean remove();
descriptor: (Lorg/glassfish/jersey/server/ChunkedOutput;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.jersey.server.Broadcaster.chunkedOutputs:Ljava/util/concurrent/ConcurrentLinkedQueue;
aload 1
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.remove:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/server/Broadcaster<TT;>;
0 1 1 chunkedOutput TOUT;
Signature: <OUT:Lorg/glassfish/jersey/server/ChunkedOutput<TT;>;>(TOUT;)Z
MethodParameters:
Name Flags
chunkedOutput final
public boolean add(org.glassfish.jersey.server.BroadcasterListener<T>);
descriptor: (Lorg/glassfish/jersey/server/BroadcasterListener;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.jersey.server.Broadcaster.listeners:Ljava/util/concurrent/CopyOnWriteArrayList;
aload 1
invokevirtual java.util.concurrent.CopyOnWriteArrayList.add:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/server/Broadcaster<TT;>;
0 1 1 listener Lorg/glassfish/jersey/server/BroadcasterListener<TT;>;
Signature: (Lorg/glassfish/jersey/server/BroadcasterListener<TT;>;)Z
MethodParameters:
Name Flags
listener final
public boolean remove(org.glassfish.jersey.server.BroadcasterListener<T>);
descriptor: (Lorg/glassfish/jersey/server/BroadcasterListener;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.jersey.server.Broadcaster.listeners:Ljava/util/concurrent/CopyOnWriteArrayList;
aload 1
invokevirtual java.util.concurrent.CopyOnWriteArrayList.remove:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/server/Broadcaster<TT;>;
0 1 1 listener Lorg/glassfish/jersey/server/BroadcasterListener<TT;>;
Signature: (Lorg/glassfish/jersey/server/BroadcasterListener<TT;>;)Z
MethodParameters:
Name Flags
listener final
public void broadcast();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.glassfish.jersey.server.Broadcaster$1
dup
aload 0
aload 1
invokespecial org.glassfish.jersey.server.Broadcaster$1.<init>:(Lorg/glassfish/jersey/server/Broadcaster;Ljava/lang/Object;)V
invokevirtual org.glassfish.jersey.server.Broadcaster.forEachOutput:(Lorg/glassfish/jersey/server/Broadcaster$Task;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/jersey/server/Broadcaster<TT;>;
0 2 1 chunk TT;
Signature: (TT;)V
MethodParameters:
Name Flags
chunk final
public void closeAll();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
new org.glassfish.jersey.server.Broadcaster$2
dup
aload 0
invokespecial org.glassfish.jersey.server.Broadcaster$2.<init>:(Lorg/glassfish/jersey/server/Broadcaster;)V
invokevirtual org.glassfish.jersey.server.Broadcaster.forEachOutput:(Lorg/glassfish/jersey/server/Broadcaster$Task;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/jersey/server/Broadcaster<TT;>;
public void onException(org.glassfish.jersey.server.ChunkedOutput<T>, java.lang.Exception);
descriptor: (Lorg/glassfish/jersey/server/ChunkedOutput;Ljava/lang/Exception;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/server/Broadcaster<TT;>;
0 1 1 chunkedOutput Lorg/glassfish/jersey/server/ChunkedOutput<TT;>;
0 1 2 exception Ljava/lang/Exception;
Signature: (Lorg/glassfish/jersey/server/ChunkedOutput<TT;>;Ljava/lang/Exception;)V
MethodParameters:
Name Flags
chunkedOutput final
exception final
public void onClose(org.glassfish.jersey.server.ChunkedOutput<T>);
descriptor: (Lorg/glassfish/jersey/server/ChunkedOutput;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/server/Broadcaster<TT;>;
0 1 1 chunkedOutput Lorg/glassfish/jersey/server/ChunkedOutput<TT;>;
Signature: (Lorg/glassfish/jersey/server/ChunkedOutput<TT;>;)V
MethodParameters:
Name Flags
chunkedOutput final
private void forEachOutput(org.glassfish.jersey.server.Broadcaster$Task<org.glassfish.jersey.server.ChunkedOutput<T>>);
descriptor: (Lorg/glassfish/jersey/server/Broadcaster$Task;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.jersey.server.Broadcaster.chunkedOutputs:Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.iterator:()Ljava/util/Iterator;
astore 2
start local 2 1: goto 11
2: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.jersey.server.ChunkedOutput
astore 3
start local 3 3: aload 3
invokevirtual org.glassfish.jersey.server.ChunkedOutput.isClosed:()Z
ifne 8
4: aload 1
aload 3
invokeinterface org.glassfish.jersey.server.Broadcaster$Task.run:(Ljava/lang/Object;)V
5: goto 8
StackMap locals: org.glassfish.jersey.server.Broadcaster org.glassfish.jersey.server.Broadcaster$Task java.util.Iterator org.glassfish.jersey.server.ChunkedOutput
StackMap stack: java.lang.Exception
6: astore 4
start local 4 7: aload 0
aload 3
aload 4
invokevirtual org.glassfish.jersey.server.Broadcaster.fireOnException:(Lorg/glassfish/jersey/server/ChunkedOutput;Ljava/lang/Exception;)V
end local 4 8: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.glassfish.jersey.server.ChunkedOutput.isClosed:()Z
ifeq 11
9: aload 2
invokeinterface java.util.Iterator.remove:()V
10: aload 0
aload 3
invokevirtual org.glassfish.jersey.server.Broadcaster.fireOnClose:(Lorg/glassfish/jersey/server/ChunkedOutput;)V
end local 3 11: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
end local 2 12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/glassfish/jersey/server/Broadcaster<TT;>;
0 13 1 t Lorg/glassfish/jersey/server/Broadcaster$Task<Lorg/glassfish/jersey/server/ChunkedOutput<TT;>;>;
1 12 2 iterator Ljava/util/Iterator<Lorg/glassfish/jersey/server/ChunkedOutput<TT;>;>;
3 11 3 chunkedOutput Lorg/glassfish/jersey/server/ChunkedOutput<TT;>;
7 8 4 e Ljava/lang/Exception;
Exception table:
from to target type
4 5 6 Class java.lang.Exception
Signature: (Lorg/glassfish/jersey/server/Broadcaster$Task<Lorg/glassfish/jersey/server/ChunkedOutput<TT;>;>;)V
MethodParameters:
Name Flags
t final
private void forEachListener(org.glassfish.jersey.server.Broadcaster$Task<org.glassfish.jersey.server.BroadcasterListener<T>>);
descriptor: (Lorg/glassfish/jersey/server/Broadcaster$Task;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.jersey.server.Broadcaster.listeners:Ljava/util/concurrent/CopyOnWriteArrayList;
invokevirtual java.util.concurrent.CopyOnWriteArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals: org.glassfish.jersey.server.Broadcaster org.glassfish.jersey.server.Broadcaster$Task top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.jersey.server.BroadcasterListener
astore 2
start local 2 2: aload 1
aload 2
invokeinterface org.glassfish.jersey.server.Broadcaster$Task.run:(Ljava/lang/Object;)V
3: goto 8
StackMap locals: org.glassfish.jersey.server.Broadcaster org.glassfish.jersey.server.Broadcaster$Task org.glassfish.jersey.server.BroadcasterListener java.util.Iterator
StackMap stack: java.lang.Exception
4: astore 4
start local 4 5: ldc Lorg/glassfish/jersey/server/Broadcaster;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
6: aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic org.glassfish.jersey.server.internal.LocalizationMessages.BROADCASTER_LISTENER_EXCEPTION:(Ljava/lang/Object;)Ljava/lang/String;
aload 4
7: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 end local 2 8: StackMap locals: org.glassfish.jersey.server.Broadcaster org.glassfish.jersey.server.Broadcaster$Task top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/glassfish/jersey/server/Broadcaster<TT;>;
0 10 1 t Lorg/glassfish/jersey/server/Broadcaster$Task<Lorg/glassfish/jersey/server/BroadcasterListener<TT;>;>;
2 8 2 listener Lorg/glassfish/jersey/server/BroadcasterListener<TT;>;
5 8 4 e Ljava/lang/Exception;
Exception table:
from to target type
2 3 4 Class java.lang.Exception
Signature: (Lorg/glassfish/jersey/server/Broadcaster$Task<Lorg/glassfish/jersey/server/BroadcasterListener<TT;>;>;)V
MethodParameters:
Name Flags
t final
private void fireOnException(org.glassfish.jersey.server.ChunkedOutput<T>, java.lang.Exception);
descriptor: (Lorg/glassfish/jersey/server/ChunkedOutput;Ljava/lang/Exception;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new org.glassfish.jersey.server.Broadcaster$3
dup
aload 0
aload 1
aload 2
invokespecial org.glassfish.jersey.server.Broadcaster$3.<init>:(Lorg/glassfish/jersey/server/Broadcaster;Lorg/glassfish/jersey/server/ChunkedOutput;Ljava/lang/Exception;)V
invokevirtual org.glassfish.jersey.server.Broadcaster.forEachListener:(Lorg/glassfish/jersey/server/Broadcaster$Task;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/jersey/server/Broadcaster<TT;>;
0 2 1 chunkedOutput Lorg/glassfish/jersey/server/ChunkedOutput<TT;>;
0 2 2 exception Ljava/lang/Exception;
Signature: (Lorg/glassfish/jersey/server/ChunkedOutput<TT;>;Ljava/lang/Exception;)V
MethodParameters:
Name Flags
chunkedOutput final
exception final
private void fireOnClose(org.glassfish.jersey.server.ChunkedOutput<T>);
descriptor: (Lorg/glassfish/jersey/server/ChunkedOutput;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.glassfish.jersey.server.Broadcaster$4
dup
aload 0
aload 1
invokespecial org.glassfish.jersey.server.Broadcaster$4.<init>:(Lorg/glassfish/jersey/server/Broadcaster;Lorg/glassfish/jersey/server/ChunkedOutput;)V
invokevirtual org.glassfish.jersey.server.Broadcaster.forEachListener:(Lorg/glassfish/jersey/server/Broadcaster$Task;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/jersey/server/Broadcaster<TT;>;
0 2 1 chunkedOutput Lorg/glassfish/jersey/server/ChunkedOutput<TT;>;
Signature: (Lorg/glassfish/jersey/server/ChunkedOutput<TT;>;)V
MethodParameters:
Name Flags
chunkedOutput final
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lorg/glassfish/jersey/server/BroadcasterListener<TT;>;
SourceFile: "Broadcaster.java"
NestMembers:
org.glassfish.jersey.server.Broadcaster$1 org.glassfish.jersey.server.Broadcaster$2 org.glassfish.jersey.server.Broadcaster$3 org.glassfish.jersey.server.Broadcaster$4 org.glassfish.jersey.server.Broadcaster$Task
InnerClasses:
org.glassfish.jersey.server.Broadcaster$1
org.glassfish.jersey.server.Broadcaster$2
org.glassfish.jersey.server.Broadcaster$3
org.glassfish.jersey.server.Broadcaster$4
private abstract Task = org.glassfish.jersey.server.Broadcaster$Task of org.glassfish.jersey.server.Broadcaster