Package org.springframework.data.util
Class ReactiveWrappers
java.lang.Object
org.springframework.data.util.ReactiveWrappers
Utility class to expose details about reactive wrapper types. This class exposes whether a reactive wrapper is
supported in general and whether a particular type is suitable for no-value/single-value/multi-value usage.
Supported types are discovered by their availability on the class path. This class is typically used to determine multiplicity and whether a reactive wrapper type is acceptable for a specific operation.
- Since:
- 3.0
- Author:
- Mark Paluch, Christoph Strobl, Oliver Gierke, Gerrit Meier, Hantsy Bai
- See Also:
-
PublisherSingleMaybeObservableCompletableFlowableMultiUniMonoFlux
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumEnumeration of supported reactive libraries. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final booleanstatic final booleanstatic final booleanstatic final booleanstatic final boolean -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanReturns true if reactive support is available.static booleanisAvailable(ReactiveWrappers.ReactiveLibrary reactiveLibrary) Returns true if theReactiveWrappers.ReactiveLibraryis available.static booleanisMultiValueType(Class<?> type) Returns true iftypeis a reactive wrapper type supporting multiple values (0..Nelements).static booleanisNoValueType(Class<?> type) Returns true iftypeis a reactive wrapper type that contains no value.static booleanisSingleValueType(Class<?> type) Returns true iftypeis a reactive wrapper type for a single value.static booleanReturns true if thetypeis a supported reactive wrapper type.static booleanusesReactiveType(Class<?> type) Returns whether the given type uses any reactive wrapper type in its method signatures.
-
Field Details
-
PROJECT_REACTOR_PRESENT
public static final boolean PROJECT_REACTOR_PRESENT -
RXJAVA3_PRESENT
public static final boolean RXJAVA3_PRESENT -
KOTLIN_COROUTINES_PRESENT
public static final boolean KOTLIN_COROUTINES_PRESENT -
MUTINY_PRESENT
public static final boolean MUTINY_PRESENT -
IS_REACTIVE_AVAILABLE
public static final boolean IS_REACTIVE_AVAILABLE
-
-
Method Details
-
isAvailable
public static boolean isAvailable()Returns true if reactive support is available. More specifically, whether any of the libraries defined inReactiveWrappers.ReactiveLibraryare on the class path.- Returns:
- true if reactive support is available.
-
isAvailable
Returns true if theReactiveWrappers.ReactiveLibraryis available.- Parameters:
reactiveLibrary- must not be null.- Returns:
- true if the
ReactiveWrappers.ReactiveLibraryis available.
-
supports
Returns true if thetypeis a supported reactive wrapper type.- Parameters:
type- must not be null.- Returns:
- true if the
typeis a supported reactive wrapper type.
-
usesReactiveType
Returns whether the given type uses any reactive wrapper type in its method signatures.- Parameters:
type- must not be null.- Returns:
-
isNoValueType
Returns true iftypeis a reactive wrapper type that contains no value.- Parameters:
type- must not be null.- Returns:
- true if
typeis a reactive wrapper type that contains no value.
-
isSingleValueType
Returns true iftypeis a reactive wrapper type for a single value.- Parameters:
type- must not be null.- Returns:
- true if
typeis a reactive wrapper type for a single value.
-
isMultiValueType
Returns true iftypeis a reactive wrapper type supporting multiple values (0..Nelements).- Parameters:
type- must not be null.- Returns:
- true if
typeis a reactive wrapper type supporting multiple values (0..Nelements).
-