Following are the just() methods of Flux and Mono to create the instances:
Flux methods
public static <T> Flux<T> just(T... data)
public static <T> Flux<T> just(T data)
Mono methods
public static <T> Mono<T> just(T data)
public static <T> Mono<T> justOrEmpty(@Nullable
Optional<? extends T> data)
This method emits the specified item if Optional.isPresent() otherwise only emits onComplete.
public static <T> Mono<T> justOrEmpty(@Nullable
T data)
Create a new Mono that emits the specified item if non null otherwise only emits onComplete.
Examples
Using Flux#just()
package com.logicbig.example;
import reactor.core.publisher.Flux;
public class FluxJustExamples {
public static void main(String[] args) {
System.out.println("-- Creating with Flux#just(T... data) --");
Flux.just(2, 4, 6, 8)
.subscribe(System.out::println);
System.out.println("-- Creating with Flux#just(T data) --");
Flux.just(3)
.subscribe(System.out::println);
}
}
-- Creating with Flux#just -- 2 4 6 8 -- Creating with Mono#just -- 3
Flux.just will throw NullPointerException for null item:
package com.logicbig.example;
import reactor.core.publisher.Flux;
public class FluxJustWithNullExamples {
public static void main(String[] args) {
System.out.println("-- Creating Flux#just with a null value --");
Flux.just("2", null, "6")
.subscribe(System.out::println);
}
}
-- Creating Flux#just with a null value -- 2 reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.NullPointerException: The 1th array element was null
Mono#just() example
package com.logicbig.example;
import reactor.core.publisher.Mono;
public class MonoJustExample {
public static void main(String[] args) {
System.out.println("-- Creating Mono with Mono#just --");
Mono.just("apple")
.subscribe(System.out::println);
}
}
-- Creating Mono with Mono#just -- apple
Mono#just() will throw NPE for null input:
package com.logicbig.example;
import reactor.core.publisher.Mono;
public class MonoJustWithNullExample {
public static void main(String[] args) {
System.out.println("-- Creating Mono#just with null --");
Mono.just(null)
.subscribe(System.out::println);
}
}
-- Creating Mono#just with null -- java.lang.NullPointerException: value at java.util.Objects.requireNonNull(Objects.java:228) at reactor.core.publisher.MonoJust.<init>(MonoJust.java:34) at reactor.core.publisher.Mono.just(Mono.java:577) at com.logicbig.example.MonoJustWithNullExample.main(MonoJustWithNullExample.java:8)
Mono#justOrEmpty() example
package com.logicbig.example;
import reactor.core.publisher.Mono;
public class MonoJustOrEmptyExample {
public static void main(String[] args) {
System.out.println("-- Creating Mono with justOrEmpty() --");
Mono.justOrEmpty("apple")
.subscribe(System.out::println);
System.out.println("-- Using justOrEmpty() with null --");
Mono.justOrEmpty(null)
.subscribe(System.out::println);
}
}
-- Creating Mono with justOrEmpty() -- apple -- Using justOrEmpty() with null --
Mono#justOrEmpty(Optional) examples
package com.logicbig.example;
import reactor.core.publisher.Mono;
import java.util.Optional;
public class MonoJustWithOptionalExample {
public static void main(String[] args) {
System.out.println("-- Creating Mono with optional --");
Optional<String> optional = Optional.of("apple");
Mono.justOrEmpty(optional)
.subscribe(System.out::println);
System.out.println("-- Creating Mono with null optional --");
Optional<String> optional2 = Optional.ofNullable(null);
Mono.justOrEmpty(optional2)
.subscribe(System.out::println);
System.out.println("-- Creating Mono with empty optional --");
Optional<String> optional3 = Optional.empty();
Mono.justOrEmpty(optional3)
.subscribe(System.out::println);
}
}
-- Creating Mono with optional -- apple -- Creating Mono with null optional -- -- Creating Mono with empty optional --
Example ProjectDependencies and Technologies Used: - reactor-core 3.3.9.RELEASE: Non-Blocking Reactive Foundation for the JVM.
- JDK 8
- Maven 3.5.4
|