final class reactor.core.publisher.FluxUsingWhen<T, S> extends reactor.core.publisher.Flux<T> implements reactor.core.publisher.SourceProducer<T>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: reactor.core.publisher.FluxUsingWhen
super_class: reactor.core.publisher.Flux
{
final org.reactivestreams.Publisher<S> resourceSupplier;
descriptor: Lorg/reactivestreams/Publisher;
flags: (0x0010) ACC_FINAL
Signature: Lorg/reactivestreams/Publisher<TS;>;
final java.util.function.Function<? super S, ? extends org.reactivestreams.Publisher<? extends T>> resourceClosure;
descriptor: Ljava/util/function/Function;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/Function<-TS;+Lorg/reactivestreams/Publisher<+TT;>;>;
final java.util.function.Function<? super S, ? extends org.reactivestreams.Publisher<?>> asyncComplete;
descriptor: Ljava/util/function/Function;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/Function<-TS;+Lorg/reactivestreams/Publisher<*>;>;
final java.util.function.BiFunction<? super S, ? super java.lang.Throwable, ? extends org.reactivestreams.Publisher<?>> asyncError;
descriptor: Ljava/util/function/BiFunction;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/BiFunction<-TS;-Ljava/lang/Throwable;+Lorg/reactivestreams/Publisher<*>;>;
final java.util.function.Function<? super S, ? extends org.reactivestreams.Publisher<?>> asyncCancel;
descriptor: Ljava/util/function/Function;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/Function<-TS;+Lorg/reactivestreams/Publisher<*>;>;
RuntimeVisibleAnnotations:
reactor.util.annotation.Nullable()
void <init>(org.reactivestreams.Publisher<S>, java.util.function.Function<? super S, ? extends org.reactivestreams.Publisher<? extends T>>, java.util.function.Function<? super S, ? extends org.reactivestreams.Publisher<?>>, java.util.function.BiFunction<? super S, ? super java.lang.Throwable, ? extends org.reactivestreams.Publisher<?>>, java.util.function.Function<? super S, ? extends org.reactivestreams.Publisher<?>>);
descriptor: (Lorg/reactivestreams/Publisher;Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BiFunction;Ljava/util/function/Function;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial reactor.core.publisher.Flux.<init>:()V
1: aload 0
aload 1
ldc "resourceSupplier"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
putfield reactor.core.publisher.FluxUsingWhen.resourceSupplier:Lorg/reactivestreams/Publisher;
2: aload 0
aload 2
ldc "resourceClosure"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.function.Function
putfield reactor.core.publisher.FluxUsingWhen.resourceClosure:Ljava/util/function/Function;
3: aload 0
aload 3
ldc "asyncComplete"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.function.Function
putfield reactor.core.publisher.FluxUsingWhen.asyncComplete:Ljava/util/function/Function;
4: aload 0
aload 4
ldc "asyncError"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.function.BiFunction
putfield reactor.core.publisher.FluxUsingWhen.asyncError:Ljava/util/function/BiFunction;
5: aload 0
aload 5
putfield reactor.core.publisher.FluxUsingWhen.asyncCancel:Ljava/util/function/Function;
6: return
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 7 0 this Lreactor/core/publisher/FluxUsingWhen<TT;TS;>;
0 7 1 resourceSupplier Lorg/reactivestreams/Publisher<TS;>;
0 7 2 resourceClosure Ljava/util/function/Function<-TS;+Lorg/reactivestreams/Publisher<+TT;>;>;
0 7 3 asyncComplete Ljava/util/function/Function<-TS;+Lorg/reactivestreams/Publisher<*>;>;
0 7 4 asyncError Ljava/util/function/BiFunction<-TS;-Ljava/lang/Throwable;+Lorg/reactivestreams/Publisher<*>;>;
0 7 5 asyncCancel Ljava/util/function/Function<-TS;+Lorg/reactivestreams/Publisher<*>;>;
Signature: (Lorg/reactivestreams/Publisher<TS;>;Ljava/util/function/Function<-TS;+Lorg/reactivestreams/Publisher<+TT;>;>;Ljava/util/function/Function<-TS;+Lorg/reactivestreams/Publisher<*>;>;Ljava/util/function/BiFunction<-TS;-Ljava/lang/Throwable;+Lorg/reactivestreams/Publisher<*>;>;Ljava/util/function/Function<-TS;+Lorg/reactivestreams/Publisher<*>;>;)V
RuntimeVisibleParameterAnnotations:
0:
1:
2:
3:
4:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
resourceSupplier
resourceClosure
asyncComplete
asyncError
asyncCancel
public void subscribe(reactor.core.CoreSubscriber<? super T>);
descriptor: (Lreactor/core/CoreSubscriber;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxUsingWhen.resourceSupplier:Lorg/reactivestreams/Publisher;
instanceof java.util.concurrent.Callable
ifeq 19
1: aload 0
getfield reactor.core.publisher.FluxUsingWhen.resourceSupplier:Lorg/reactivestreams/Publisher;
checkcast java.util.concurrent.Callable
astore 2
start local 2 2: aload 2
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
astore 3
start local 3 3: aload 3
ifnonnull 6
4: aload 1
invokestatic reactor.core.publisher.Operators.complete:(Lorg/reactivestreams/Subscriber;)V
5: goto 18
6: StackMap locals: java.util.concurrent.Callable java.lang.Object
StackMap stack:
aload 3
aload 0
getfield reactor.core.publisher.FluxUsingWhen.resourceClosure:Ljava/util/function/Function;
invokestatic reactor.core.publisher.FluxUsingWhen.deriveFluxFromResource:(Ljava/lang/Object;Ljava/util/function/Function;)Lorg/reactivestreams/Publisher;
astore 4
start local 4 7: aload 3
8: aload 1
9: aload 0
getfield reactor.core.publisher.FluxUsingWhen.asyncComplete:Ljava/util/function/Function;
10: aload 0
getfield reactor.core.publisher.FluxUsingWhen.asyncError:Ljava/util/function/BiFunction;
11: aload 0
getfield reactor.core.publisher.FluxUsingWhen.asyncCancel:Ljava/util/function/Function;
12: aconst_null
13: invokestatic reactor.core.publisher.FluxUsingWhen.prepareSubscriberForResource:(Ljava/lang/Object;Lreactor/core/CoreSubscriber;Ljava/util/function/Function;Ljava/util/function/BiFunction;Ljava/util/function/Function;Lreactor/core/publisher/Operators$DeferredSubscription;)Lreactor/core/publisher/FluxUsingWhen$UsingWhenSubscriber;
astore 5
start local 5 14: aload 4
aload 5
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
end local 5 end local 4 end local 3 end local 2 15: goto 18
16: StackMap locals: reactor.core.publisher.FluxUsingWhen reactor.core.CoreSubscriber
StackMap stack: java.lang.Throwable
astore 2
start local 2 17: aload 1
aload 2
invokestatic reactor.core.publisher.Operators.error:(Lorg/reactivestreams/Subscriber;Ljava/lang/Throwable;)V
end local 2 18: StackMap locals:
StackMap stack:
return
19: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxUsingWhen.resourceSupplier:Lorg/reactivestreams/Publisher;
new reactor.core.publisher.FluxUsingWhen$ResourceSubscriber
dup
aload 1
aload 0
getfield reactor.core.publisher.FluxUsingWhen.resourceClosure:Ljava/util/function/Function;
aload 0
getfield reactor.core.publisher.FluxUsingWhen.asyncComplete:Ljava/util/function/Function;
aload 0
getfield reactor.core.publisher.FluxUsingWhen.asyncError:Ljava/util/function/BiFunction;
aload 0
getfield reactor.core.publisher.FluxUsingWhen.asyncCancel:Ljava/util/function/Function;
aload 0
getfield reactor.core.publisher.FluxUsingWhen.resourceSupplier:Lorg/reactivestreams/Publisher;
instanceof reactor.core.publisher.Mono
invokespecial reactor.core.publisher.FluxUsingWhen$ResourceSubscriber.<init>:(Lreactor/core/CoreSubscriber;Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BiFunction;Ljava/util/function/Function;Z)V
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
20: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lreactor/core/publisher/FluxUsingWhen<TT;TS;>;
0 21 1 actual Lreactor/core/CoreSubscriber<-TT;>;
2 15 2 resourceCallable Ljava/util/concurrent/Callable<TS;>;
3 15 3 resource TS;
7 15 4 p Lorg/reactivestreams/Publisher<+TT;>;
14 15 5 subscriber Lreactor/core/publisher/FluxUsingWhen$UsingWhenSubscriber<-TT;TS;>;
17 18 2 e Ljava/lang/Throwable;
Exception table:
from to target type
1 15 16 Class java.lang.Throwable
Signature: (Lreactor/core/CoreSubscriber<-TT;>;)V
MethodParameters:
Name Flags
actual
public java.lang.Object scanUnsafe(reactor.core.Scannable$Attr);
descriptor: (Lreactor/core/Scannable$Attr;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic reactor.core.Scannable$Attr.RUN_STYLE:Lreactor/core/Scannable$Attr;
if_acmpne 1
getstatic reactor.core.Scannable$Attr$RunStyle.SYNC:Lreactor/core/Scannable$Attr$RunStyle;
areturn
1: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lreactor/core/publisher/FluxUsingWhen<TT;TS;>;
0 2 1 key Lreactor/core/Scannable$Attr;
MethodParameters:
Name Flags
key
private static <RESOURCE, T> org.reactivestreams.Publisher<? extends T> deriveFluxFromResource(RESOURCE, java.util.function.Function<? super RESOURCE, ? extends org.reactivestreams.Publisher<? extends T>>);
descriptor: (Ljava/lang/Object;Ljava/util/function/Function;)Lorg/reactivestreams/Publisher;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
1: ldc "The resourceClosure function returned a null value"
2: invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
astore 2
start local 2 3: goto 6
end local 2 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 5: aload 3
invokestatic reactor.core.publisher.Flux.error:(Ljava/lang/Throwable;)Lreactor/core/publisher/Flux;
astore 2
end local 3 start local 2 6: StackMap locals: org.reactivestreams.Publisher
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 resource TRESOURCE;
0 7 1 resourceClosure Ljava/util/function/Function<-TRESOURCE;+Lorg/reactivestreams/Publisher<+TT;>;>;
3 4 2 p Lorg/reactivestreams/Publisher<+TT;>;
6 7 2 p Lorg/reactivestreams/Publisher<+TT;>;
5 6 3 e Ljava/lang/Throwable;
Exception table:
from to target type
0 3 4 Class java.lang.Throwable
Signature: <RESOURCE:Ljava/lang/Object;T:Ljava/lang/Object;>(TRESOURCE;Ljava/util/function/Function<-TRESOURCE;+Lorg/reactivestreams/Publisher<+TT;>;>;)Lorg/reactivestreams/Publisher<+TT;>;
MethodParameters:
Name Flags
resource
resourceClosure
private static <RESOURCE, T> reactor.core.publisher.FluxUsingWhen$UsingWhenSubscriber<? super T, RESOURCE> prepareSubscriberForResource(RESOURCE, reactor.core.CoreSubscriber<? super T>, java.util.function.Function<? super RESOURCE, ? extends org.reactivestreams.Publisher<?>>, java.util.function.BiFunction<? super RESOURCE, ? super java.lang.Throwable, ? extends org.reactivestreams.Publisher<?>>, java.util.function.Function<? super RESOURCE, ? extends org.reactivestreams.Publisher<?>>, reactor.core.publisher.Operators$DeferredSubscription);
descriptor: (Ljava/lang/Object;Lreactor/core/CoreSubscriber;Ljava/util/function/Function;Ljava/util/function/BiFunction;Ljava/util/function/Function;Lreactor/core/publisher/Operators$DeferredSubscription;)Lreactor/core/publisher/FluxUsingWhen$UsingWhenSubscriber;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
instanceof reactor.core.Fuseable$ConditionalSubscriber
ifeq 9
1: aload 1
checkcast reactor.core.Fuseable$ConditionalSubscriber
astore 6
start local 6 2: new reactor.core.publisher.FluxUsingWhen$UsingWhenConditionalSubscriber
dup
aload 6
3: aload 0
4: aload 2
5: aload 3
6: aload 4
7: aload 5
8: invokespecial reactor.core.publisher.FluxUsingWhen$UsingWhenConditionalSubscriber.<init>:(Lreactor/core/Fuseable$ConditionalSubscriber;Ljava/lang/Object;Ljava/util/function/Function;Ljava/util/function/BiFunction;Ljava/util/function/Function;Lreactor/core/publisher/Operators$DeferredSubscription;)V
areturn
end local 6 9: StackMap locals:
StackMap stack:
new reactor.core.publisher.FluxUsingWhen$UsingWhenSubscriber
dup
aload 1
10: aload 0
11: aload 2
12: aload 3
13: aload 4
14: aload 5
15: invokespecial reactor.core.publisher.FluxUsingWhen$UsingWhenSubscriber.<init>:(Lreactor/core/CoreSubscriber;Ljava/lang/Object;Ljava/util/function/Function;Ljava/util/function/BiFunction;Ljava/util/function/Function;Lreactor/core/publisher/Operators$DeferredSubscription;)V
areturn
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 16 0 resource TRESOURCE;
0 16 1 actual Lreactor/core/CoreSubscriber<-TT;>;
0 16 2 asyncComplete Ljava/util/function/Function<-TRESOURCE;+Lorg/reactivestreams/Publisher<*>;>;
0 16 3 asyncError Ljava/util/function/BiFunction<-TRESOURCE;-Ljava/lang/Throwable;+Lorg/reactivestreams/Publisher<*>;>;
0 16 4 asyncCancel Ljava/util/function/Function<-TRESOURCE;+Lorg/reactivestreams/Publisher<*>;>;
0 16 5 arbiter Lreactor/core/publisher/Operators$DeferredSubscription;
2 9 6 conditionalActual Lreactor/core/Fuseable$ConditionalSubscriber<-TT;>;
Signature: <RESOURCE:Ljava/lang/Object;T:Ljava/lang/Object;>(TRESOURCE;Lreactor/core/CoreSubscriber<-TT;>;Ljava/util/function/Function<-TRESOURCE;+Lorg/reactivestreams/Publisher<*>;>;Ljava/util/function/BiFunction<-TRESOURCE;-Ljava/lang/Throwable;+Lorg/reactivestreams/Publisher<*>;>;Ljava/util/function/Function<-TRESOURCE;+Lorg/reactivestreams/Publisher<*>;>;Lreactor/core/publisher/Operators$DeferredSubscription;)Lreactor/core/publisher/FluxUsingWhen$UsingWhenSubscriber<-TT;TRESOURCE;>;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
3:
4:
reactor.util.annotation.Nullable()
5:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
resource
actual
asyncComplete
asyncError
asyncCancel
arbiter
}
Signature: <T:Ljava/lang/Object;S:Ljava/lang/Object;>Lreactor/core/publisher/Flux<TT;>;Lreactor/core/publisher/SourceProducer<TT;>;
SourceFile: "FluxUsingWhen.java"
NestMembers:
reactor.core.publisher.FluxUsingWhen$CancelInner reactor.core.publisher.FluxUsingWhen$CommitInner reactor.core.publisher.FluxUsingWhen$ResourceSubscriber reactor.core.publisher.FluxUsingWhen$RollbackInner reactor.core.publisher.FluxUsingWhen$UsingWhenConditionalSubscriber reactor.core.publisher.FluxUsingWhen$UsingWhenParent reactor.core.publisher.FluxUsingWhen$UsingWhenSubscriber
InnerClasses:
public abstract ConditionalSubscriber = reactor.core.Fuseable$ConditionalSubscriber of reactor.core.Fuseable
public Attr = reactor.core.Scannable$Attr of reactor.core.Scannable
public final RunStyle = reactor.core.Scannable$Attr$RunStyle of reactor.core.Scannable$Attr
final CancelInner = reactor.core.publisher.FluxUsingWhen$CancelInner of reactor.core.publisher.FluxUsingWhen
final CommitInner = reactor.core.publisher.FluxUsingWhen$CommitInner of reactor.core.publisher.FluxUsingWhen
ResourceSubscriber = reactor.core.publisher.FluxUsingWhen$ResourceSubscriber of reactor.core.publisher.FluxUsingWhen
final RollbackInner = reactor.core.publisher.FluxUsingWhen$RollbackInner of reactor.core.publisher.FluxUsingWhen
final UsingWhenConditionalSubscriber = reactor.core.publisher.FluxUsingWhen$UsingWhenConditionalSubscriber of reactor.core.publisher.FluxUsingWhen
private abstract UsingWhenParent = reactor.core.publisher.FluxUsingWhen$UsingWhenParent of reactor.core.publisher.FluxUsingWhen
UsingWhenSubscriber = reactor.core.publisher.FluxUsingWhen$UsingWhenSubscriber of reactor.core.publisher.FluxUsingWhen
public DeferredSubscription = reactor.core.publisher.Operators$DeferredSubscription of reactor.core.publisher.Operators