类 ReactiveTypeDescriptor

java.lang.Object
cn.taketoday.core.ReactiveTypeDescriptor

public final class ReactiveTypeDescriptor extends Object
Describes the semantics of a reactive type including boolean checks for isMultiValue(), isNoValue(), and supportsEmpty().
从以下版本开始:
4.0
作者:
Rossen Stoyanchev, Harry Yang
  • 字段详细资料

    • reactiveType

      private final Class<?> reactiveType
    • multiValue

      private final boolean multiValue
    • noValue

      private final boolean noValue
    • emptySupplier

      @Nullable private final Supplier<?> emptySupplier
    • deferred

      private final boolean deferred
  • 构造器详细资料

    • ReactiveTypeDescriptor

      private ReactiveTypeDescriptor(Class<?> reactiveType, boolean multiValue, boolean noValue, @Nullable Supplier<?> emptySupplier)
    • ReactiveTypeDescriptor

      private ReactiveTypeDescriptor(Class<?> reactiveType, boolean multiValue, boolean noValue, @Nullable Supplier<?> emptySupplier, boolean deferred)
  • 方法详细资料

    • getReactiveType

      public Class<?> getReactiveType()
      Return the reactive type for this descriptor.
    • isMultiValue

      public boolean isMultiValue()
      Return true if the reactive type can produce more than 1 value can be produced and is therefore a good fit to adapt to Flux. A false return value implies the reactive type can produce 1 value at most and is therefore a good fit to adapt to Mono.
    • isNoValue

      public boolean isNoValue()
      Return true if the reactive type does not produce any values and only provides completion and error signals.
    • supportsEmpty

      public boolean supportsEmpty()
      Return true if the reactive type can complete with no values.
    • getEmptyValue

      public Object getEmptyValue()
      Return an empty-value instance for the underlying reactive or async type.

      Use of this type implies supportsEmpty() is true.

    • isDeferred

      public boolean isDeferred()
      Whether the underlying operation is deferred and needs to be started explicitly, e.g. via subscribing (or similar), or whether it is triggered without the consumer having any control.
    • equals

      public boolean equals(@Nullable Object other)
      覆盖:
      equals 在类中 Object
    • hashCode

      public int hashCode()
      覆盖:
      hashCode 在类中 Object
    • multiValue

      public static ReactiveTypeDescriptor multiValue(Class<?> type, Supplier<?> emptySupplier)
      Descriptor for a reactive type that can produce 0..N values.
      参数:
      type - the reactive type
      emptySupplier - a supplier of an empty-value instance of the reactive type
    • singleOptionalValue

      public static ReactiveTypeDescriptor singleOptionalValue(Class<?> type, Supplier<?> emptySupplier)
      Descriptor for a reactive type that can produce 0..1 values.
      参数:
      type - the reactive type
      emptySupplier - a supplier of an empty-value instance of the reactive type
    • singleRequiredValue

      public static ReactiveTypeDescriptor singleRequiredValue(Class<?> type)
      Descriptor for a reactive type that must produce 1 value to complete.
      参数:
      type - the reactive type
    • noValue

      public static ReactiveTypeDescriptor noValue(Class<?> type, Supplier<?> emptySupplier)
      Descriptor for a reactive type that does not produce any values.
      参数:
      type - the reactive type
      emptySupplier - a supplier of an empty-value instance of the reactive type
    • nonDeferredAsyncValue

      public static ReactiveTypeDescriptor nonDeferredAsyncValue(Class<?> type, Supplier<?> emptySupplier)
      The same as singleOptionalValue(Class, Supplier) but for a non-deferred, async type such as CompletableFuture.
      参数:
      type - the reactive type
      emptySupplier - a supplier of an empty-value instance of the reactive type