类java.util.stream.BaseStream源码实例Demo

下面列出了怎么用java.util.stream.BaseStream的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: hol-streams   文件: TestUtil.java
/**
 * Tests a stream of any kind against a reference stream of the same type.
 *
 * @param instance from which to extract the stream
 * @param reference stream
 * @param creator to apply when creating a new stream
 * @param collector  to apply to the two streams -> List
 * @param <I> Type of the instance from which streams are obtained
 * @param <T> Elements in the stream
 * @param <S> Stream type, E.g. Stream<String> or IntStream
 */
static <I, T, S extends BaseStream> void tester(
    final I instance,
    final S reference,
    final Function<I, S> creator,
    final Function<S, List<T>> collector
) {
    // Create the stream to test
    final S stream = creator.apply(instance);

    // Make sure that the streams have the same parallel property
    assertEquals(reference.isParallel(), stream.isParallel());

    // Make sure that streams are not reused
    assertNotSame(creator.apply(instance) , stream);

    // Make sure that the streams have the same content
    final List<T> expected = collector.apply(reference);
    final List<T> actual = collector.apply(stream);
    assertEquals(expected, actual);

    printContent(actual);
}
 
源代码2 项目: huntbugs   文件: AbandonedStream.java
@AstVisitor(nodes=AstNodes.EXPRESSIONS, minVersion=8)
public void visit(Expression expr, MethodContext mc) {
    if(expr.getCode() == AstCode.InvokeInterface) {
        MethodReference mr = (MethodReference) expr.getOperand();
        if(mr.getReturnType().getPackageName().equals("java.util.stream")
                && Types.isBaseStream(mr.getReturnType())) {
            // intermediate stream operation
            if(mc.isAnnotated() && !Inf.BACKLINK.findTransitiveUsages(expr, true).findAny().isPresent()) {
                // .parallel()/.sequential()/.onClose()/.unordered() excluded as may return itself
                if(Types.is(mr.getReturnType(), BaseStream.class)) {
                    mc.report("StreamMethodMayNotReturnItself", 0, expr);
                } else {
                    mc.report("AbandonedStream", 0, expr);
                }
            }
        }
    }
}
 
源代码3 项目: jenetics   文件: ConcatEngine.java
@Override
public EvolutionStream<G, C>
stream(final Supplier<EvolutionStart<G, C>> start) {
	final AtomicReference<EvolutionStart<G, C>> other =
		new AtomicReference<>(null);

	return new EvolutionStreamImpl<>(
		new ConcatSpliterator<>(
			_engines.stream()
				.map(engine -> engine
					.stream(() -> start(start, other))
					.peek(result -> other.set(result.toEvolutionStart())))
				.map(BaseStream::spliterator)
				.collect(Collectors.toList())
		),
		false
	);
}
 
源代码4 项目: stream-utils   文件: SortedMergeIterator.java
/**
 * Creates a new SortedMerge Iterator.
 *
 * @param streams a list of ordered streams to merge.
 * @param comparator the comparator that all those streams are sorted by.
 */
public SortedMergeIterator(List<Stream<TYPE>> streams, Comparator<TYPE> comparator) {
    // take the full list of streams
    this.iterators = streams.stream()
            // turn them into iterators
            .map(BaseStream::iterator)
            // wrap them in peeking iterators
            .map(PeekingIterator::new)
            // collect that into a list
            .collect(Collectors.toList());
    this.comparator = comparator;
}
 
源代码5 项目: streamex   文件: StreamContext.java
StreamContext combine(BaseStream<?, ?> other) {
    if (other == null)
        return this;
    StreamContext otherStrategy = of(other);
    StreamContext result = this;
    if (other.isParallel() && !parallel)
        result = parallel();
    if (otherStrategy.closeHandler != null)
        result = result.onClose(otherStrategy.closeHandler);
    return result;
}
 
源代码6 项目: FreeBuilder   文件: BuildableListProperty.java
private void addStreamValueInstanceAddAll(SourceBuilder code) {
  code.addLine("");
  addJavadocForAddingMultipleValues(code);
  code.addLine("public %s %s(%s<? extends %s, ?> elements) {",
          datatype.getBuilder(), addAllMethod(property), BaseStream.class, element.type())
      .addLine("  return %s(elements.spliterator());", addAllMethod(property))
      .addLine("}");
}
 
源代码7 项目: FreeBuilder   文件: BuildableListProperty.java
private void addStreamBuilderAddAll(SourceBuilder code) {
  code.addLine("");
  addJavadocForAddingMultipleBuilders(code);
  code.addLine("public %s %s(%s<? extends %s, ?> elementBuilders) {",
          datatype.getBuilder(),
          addAllBuildersOfMethod(property),
          BaseStream.class,
          element.builderType())
      .addLine("  return %s(elementBuilders.spliterator());", addAllBuildersOfMethod(property))
      .addLine("}");
}
 
源代码8 项目: FreeBuilder   文件: MultisetProperty.java
private void addStreamAddAll(SourceBuilder code) {
  addJavadocForAddAll(code);
  code.addLine("public %s %s(%s<? extends %s, ?> elements) {",
          datatype.getBuilder(),
          addAllMethod(property),
          BaseStream.class,
          elementType)
      .addLine("  return %s(elements.spliterator());", addAllMethod(property))
      .addLine("}");
}
 
源代码9 项目: FreeBuilder   文件: SortedSetProperty.java
private void addStreamAddAll(SourceBuilder code) {
  addJavadocForAddAll(code);
  code.addLine("public %s %s(%s<? extends %s, ?> elements) {",
          datatype.getBuilder(),
          addAllMethod(property),
          BaseStream.class,
          elementType)
      .addLine("  return %s(elements.spliterator());", addAllMethod(property))
      .addLine("}");
}
 
源代码10 项目: FreeBuilder   文件: ListProperty.java
private void addStreamAddAll(SourceBuilder code) {
  addJavadocForAddAll(code);
  code.addLine("public %s %s(%s<? extends %s, ?> elements) {",
          datatype.getBuilder(),
          addAllMethod(property),
          BaseStream.class,
          elementType)
      .addLine("  return %s(elements.spliterator());", addAllMethod(property))
      .addLine("}");
}
 
源代码11 项目: FreeBuilder   文件: SetProperty.java
private void addStreamAddAll(SourceBuilder code) {
  addJavadocForAddAll(code);
  code.addLine("public %s %s(%s<? extends %s, ?> elements) {",
          datatype.getBuilder(),
          addAllMethod(property),
          BaseStream.class,
          elementType)
      .addLine("  return %s(elements.spliterator());", addAllMethod(property))
      .addLine("}");
}
 
源代码12 项目: jenetics   文件: ConcatEngine.java
private Collection<Spliterator<EvolutionResult<G, C>>> spliterators(
	final EvolutionInit<G> init,
	final AtomicReference<EvolutionStart<G, C>> other
) {
	final Collection<Spliterator<EvolutionResult<G, C>>> result;
	if (_engines.isEmpty()) {
		result = Collections.emptyList();
	} else if (_engines.size() == 1) {
		result = List.of(
			_engines.get(0)
				.stream(init)
				.peek(er -> other.set(er.toEvolutionStart()))
				.spliterator()
		);
	} else {
		final List<Spliterator<EvolutionResult<G, C>>> concat =
			new ArrayList<>();

		concat.add(
			_engines.get(0)
				.stream(init)
				.peek(er -> other.set(er.toEvolutionStart()))
				.spliterator()
		);
		concat.addAll(
			_engines.subList(1, _engines.size()).stream()
				.map(engine -> engine
					.stream(other::get)
					.peek(er -> other.set(er.toEvolutionStart())))
				.map(BaseStream::spliterator)
				.collect(Collectors.toList())
		);

		result = concat;
	}

	return result;
}
 
源代码13 项目: dragonwell8_jdk   文件: ConcatOpTest.java
void assertUnsized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertFalse(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertEquals(sp.estimateSize(), Long.MAX_VALUE);
}
 
源代码14 项目: dragonwell8_jdk   文件: ConcatOpTest.java
void assertSized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertTrue(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertTrue(sp.estimateSize() < Long.MAX_VALUE);
}
 
源代码15 项目: TencentKona-8   文件: ConcatOpTest.java
void assertUnsized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertFalse(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertEquals(sp.estimateSize(), Long.MAX_VALUE);
}
 
源代码16 项目: TencentKona-8   文件: ConcatOpTest.java
void assertSized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertTrue(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertTrue(sp.estimateSize() < Long.MAX_VALUE);
}
 
源代码17 项目: jdk8u60   文件: ConcatOpTest.java
void assertUnsized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertFalse(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertEquals(sp.estimateSize(), Long.MAX_VALUE);
}
 
源代码18 项目: jdk8u60   文件: ConcatOpTest.java
void assertSized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertTrue(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertTrue(sp.estimateSize() < Long.MAX_VALUE);
}
 
源代码19 项目: openjdk-jdk8u   文件: ConcatOpTest.java
void assertUnsized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertFalse(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertEquals(sp.estimateSize(), Long.MAX_VALUE);
}
 
源代码20 项目: openjdk-jdk8u   文件: ConcatOpTest.java
void assertSized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertTrue(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertTrue(sp.estimateSize() < Long.MAX_VALUE);
}
 
源代码21 项目: openjdk-jdk8u-backup   文件: ConcatOpTest.java
void assertUnsized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertFalse(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertEquals(sp.estimateSize(), Long.MAX_VALUE);
}
 
源代码22 项目: openjdk-jdk8u-backup   文件: ConcatOpTest.java
void assertSized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertTrue(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertTrue(sp.estimateSize() < Long.MAX_VALUE);
}
 
源代码23 项目: component-runtime   文件: StreamDecorator.java
private static <T, S extends BaseStream<T, ?>> S decorate(final S delegate, final Class<S> type,
        final Consumer<Runnable> wrapper) {
    return (S) Proxy
            .newProxyInstance(Thread.currentThread().getContextClassLoader(), new Class<?>[] { type },
                    new StreamDecorator(delegate, wrapper));
}
 
源代码24 项目: openjdk-jdk9   文件: ConcatOpTest.java
void assertUnsized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertFalse(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertEquals(sp.estimateSize(), Long.MAX_VALUE);
}
 
源代码25 项目: openjdk-jdk9   文件: ConcatOpTest.java
void assertSized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertTrue(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertTrue(sp.estimateSize() < Long.MAX_VALUE);
}
 
源代码26 项目: jdk8u-jdk   文件: ConcatOpTest.java
void assertUnsized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertFalse(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertEquals(sp.estimateSize(), Long.MAX_VALUE);
}
 
源代码27 项目: jdk8u-jdk   文件: ConcatOpTest.java
void assertSized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertTrue(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertTrue(sp.estimateSize() < Long.MAX_VALUE);
}
 
源代码28 项目: hottub   文件: ConcatOpTest.java
void assertUnsized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertFalse(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertEquals(sp.estimateSize(), Long.MAX_VALUE);
}
 
源代码29 项目: hottub   文件: ConcatOpTest.java
void assertSized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertTrue(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertTrue(sp.estimateSize() < Long.MAX_VALUE);
}
 
源代码30 项目: openjdk-8-source   文件: ConcatOpTest.java
void assertUnsized(BaseStream<?, ?> s) {
    Spliterator<?> sp = s.spliterator();

    assertFalse(sp.hasCharacteristics(Spliterator.SIZED | Spliterator.SUBSIZED));
    assertEquals(sp.estimateSize(), Long.MAX_VALUE);
}
 
 类所在包
 类方法
 同包方法