reactor.util.function.Tuples.fn5()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(5.2k)|赞(0)|评价(0)|浏览(159)

本文整理了Java中reactor.util.function.Tuples.fn5()方法的一些代码示例,展示了Tuples.fn5()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Tuples.fn5()方法的具体详情如下:
包路径:reactor.util.function.Tuples
类名称:Tuples
方法名:fn5

Tuples.fn5介绍

[英]A converting function from Object array to Tuple5
[中]从对象数组到Tuple5的转换函数

代码示例

代码示例来源:origin: reactor/reactor-core

  1. /**
  2. * A converting function from Object array to {@link Tuple4} to R.
  3. *
  4. * @param <T1> The type of the first value.
  5. * @param <T2> The type of the second value.
  6. * @param <T3> The type of the third value.
  7. * @param <T4> The type of the fourth value.
  8. * @param <T5> The type of the fifth value.
  9. * @param <R> The type of the return value.
  10. * @param delegate the function to delegate to
  11. *
  12. * @return The unchecked conversion function to R.
  13. */
  14. public static <T1, T2, T3, T4, T5, R> Function<Object[], R> fn5(final Function<Tuple5<T1, T2, T3, T4, T5>, R> delegate) {
  15. return objects -> delegate.apply(Tuples.<T1, T2, T3, T4, T5>fn5().apply(objects));
  16. }

代码示例来源:origin: reactor/reactor-core

  1. /**
  2. * Zip five sources together, that is to say wait for all the sources to emit one
  3. * element and combine these elements once into a {@link Tuple5}.
  4. * The operator will continue doing so until any of the sources completes.
  5. * Errors will immediately be forwarded.
  6. * This "Step-Merge" processing is especially useful in Scatter-Gather scenarios.
  7. * <p>
  8. * <img class="marble" src="doc-files/marbles/zipFixedSourcesForFlux.svg" alt="">
  9. *
  10. * @param source1 The first upstream {@link Publisher} to subscribe to.
  11. * @param source2 The second upstream {@link Publisher} to subscribe to.
  12. * @param source3 The third upstream {@link Publisher} to subscribe to.
  13. * @param source4 The fourth upstream {@link Publisher} to subscribe to.
  14. * @param source5 The fifth upstream {@link Publisher} to subscribe to.
  15. * @param <T1> type of the value from source1
  16. * @param <T2> type of the value from source2
  17. * @param <T3> type of the value from source3
  18. * @param <T4> type of the value from source4
  19. * @param <T5> type of the value from source5
  20. *
  21. * @return a zipped {@link Flux}
  22. */
  23. public static <T1, T2, T3, T4, T5> Flux<Tuple5<T1, T2, T3, T4, T5>> zip(Publisher<? extends T1> source1,
  24. Publisher<? extends T2> source2,
  25. Publisher<? extends T3> source3,
  26. Publisher<? extends T4> source4,
  27. Publisher<? extends T5> source5) {
  28. return zip(Tuples.fn5(), source1, source2, source3, source4, source5);
  29. }

代码示例来源:origin: reactor/reactor-core

  1. @Test
  2. public void fn5() {
  3. Integer[] source = new Integer[] { 1, 2, 3, 4, 5, 6, 7, 8 };
  4. Tuple5<Object, Object, Object, Object, Object> tuple = Tuples.fn5().apply(source);
  5. assertThat(tuple.getT1()).isEqualTo(1);
  6. assertThat(tuple.getT2()).isEqualTo(2);
  7. assertThat(tuple.getT3()).isEqualTo(3);
  8. assertThat(tuple.getT4()).isEqualTo(4);
  9. assertThat(tuple.getT5()).isEqualTo(5);
  10. assertThat(tuple)
  11. .isInstanceOf(Tuple8.class)
  12. .containsExactly(1, 2, 3, 4, 5, 6, 7, 8);
  13. }

代码示例来源:origin: reactor/reactor-core

  1. @Test
  2. public void fn5Delegate() {
  3. Integer[] source = new Integer[] { 1, 2, 3, 4, 5, 6, 7, 8 };
  4. Function<Tuple5<Integer, Integer, Integer, Integer, Integer>, Tuple5> invert =
  5. t5 -> new Tuple5<>(t5.getT5(), t5.getT4(), t5.getT3(), t5.getT2(), t5.getT1());
  6. Tuple5 tuple = Tuples.fn5(invert).apply(source);
  7. assertThat(tuple.getT1()).isEqualTo(5);
  8. assertThat(tuple.getT2()).isEqualTo(4);
  9. assertThat(tuple.getT3()).isEqualTo(3);
  10. assertThat(tuple.getT4()).isEqualTo(2);
  11. assertThat(tuple.getT5()).isEqualTo(1);
  12. assertThat((Object) tuple).isExactlyInstanceOf(Tuple5.class);
  13. }

代码示例来源:origin: io.projectreactor/reactor-core

  1. /**
  2. * A converting function from Object array to {@link Tuple4} to R.
  3. *
  4. * @param <T1> The type of the first value.
  5. * @param <T2> The type of the second value.
  6. * @param <T3> The type of the third value.
  7. * @param <T4> The type of the fourth value.
  8. * @param <T5> The type of the fifth value.
  9. * @param <R> The type of the return value.
  10. * @param delegate the function to delegate to
  11. *
  12. * @return The unchecked conversion function to R.
  13. */
  14. public static <T1, T2, T3, T4, T5, R> Function<Object[], R> fn5(final Function<Tuple5<T1, T2, T3, T4, T5>, R> delegate) {
  15. return objects -> delegate.apply(Tuples.<T1, T2, T3, T4, T5>fn5().apply(objects));
  16. }

代码示例来源:origin: io.projectreactor/reactor-core

  1. /**
  2. * Zip five sources together, that is to say wait for all the sources to emit one
  3. * element and combine these elements once into a {@link Tuple5}.
  4. * The operator will continue doing so until any of the sources completes.
  5. * Errors will immediately be forwarded.
  6. * This "Step-Merge" processing is especially useful in Scatter-Gather scenarios.
  7. * <p>
  8. * <img class="marble" src="doc-files/marbles/zipFixedSourcesForFlux.svg" alt="">
  9. *
  10. * @param source1 The first upstream {@link Publisher} to subscribe to.
  11. * @param source2 The second upstream {@link Publisher} to subscribe to.
  12. * @param source3 The third upstream {@link Publisher} to subscribe to.
  13. * @param source4 The fourth upstream {@link Publisher} to subscribe to.
  14. * @param source5 The fifth upstream {@link Publisher} to subscribe to.
  15. * @param <T1> type of the value from source1
  16. * @param <T2> type of the value from source2
  17. * @param <T3> type of the value from source3
  18. * @param <T4> type of the value from source4
  19. * @param <T5> type of the value from source5
  20. *
  21. * @return a zipped {@link Flux}
  22. */
  23. public static <T1, T2, T3, T4, T5> Flux<Tuple5<T1, T2, T3, T4, T5>> zip(Publisher<? extends T1> source1,
  24. Publisher<? extends T2> source2,
  25. Publisher<? extends T3> source3,
  26. Publisher<? extends T4> source4,
  27. Publisher<? extends T5> source5) {
  28. return zip(Tuples.fn5(), source1, source2, source3, source4, source5);
  29. }

相关文章