Skip to content

cyclops streams : Streamable

johnmcclean-aol edited this page Feb 24, 2016 · 3 revisions

Cyclops has merged with simple-react. Please update your bookmarks (stars :) ) to https://github.com/aol/cyclops-react

All new develpoment on cyclops occurs in cyclops-react. Older modules are still available in maven central.

screen shot 2016-02-22 at 8 44 42 pm

Streamable

Streamable is a class that represents something that can be Streamed repeatedly. To see how to coerce an Object to Streamable see Mixins:-Streamable.

Streamables can also be constructed lazily from Streams, or even in a similar manner to Streams. E.g.

Streamable.fromStream(Stream.of(1,2,3));
Streamable.of(1,2,3);
Streamable.generate(()->"hello world"));
SequenceM.of(1,2,3).toStreamable();

Streamable operators

Streamable has a large number of operators listed below. Streamable works by lazily constructing an intermediate collection that captures the values that pass through each phase of the Stream, and as such is not suitable for infinite or very large Streams. A Streamable can be converted to a standard non-caching Stream at any stage, however, and that should be the approach for any stages where you do not wish to cache the data traveleling through. Streamable#toSequenceM() converts to a non-caching Stream that also has a SequenceM#toStreamable() operator, so switching between caching and non-caching contexts is straightforward.

com.aol.cyclops.sequence.streamable.Streamable<T>
com.aol.cyclops.sequence.streamable.Streamable.fromStream(Stream<T>)
com.aol.cyclops.sequence.streamable.Streamable.fromIterable(Iterable<T>)
com.aol.cyclops.sequence.streamable.Streamable.of(T...)
com.aol.cyclops.sequence.streamable.Streamable.of(...).new Streamable() {...}
com.aol.cyclops.sequence.streamable.Streamable.empty()
com.aol.cyclops.sequence.streamable.Streamable.tail()
com.aol.cyclops.sequence.streamable.Streamable.head()
com.aol.cyclops.sequence.streamable.Streamable.appendAll(Streamable<T>)
com.aol.cyclops.sequence.streamable.Streamable.remove(T)
com.aol.cyclops.sequence.streamable.Streamable.prepend(T)
com.aol.cyclops.sequence.streamable.Streamable.distinct()
com.aol.cyclops.sequence.streamable.Streamable.foldLeft(U, BiFunction<U, ? super T, U>)
com.aol.cyclops.sequence.streamable.Streamable.foldRight(U, BiFunction<? super T, U, U>)
com.aol.cyclops.sequence.streamable.Streamable.map(Function<? super T, ? extends R>)
com.aol.cyclops.sequence.streamable.Streamable.peek(Consumer<? super T>)
com.aol.cyclops.sequence.streamable.Streamable.filter(Predicate<? super T>)
com.aol.cyclops.sequence.streamable.Streamable.flatMap(Function<? super T, Streamable<? extends R>>)
com.aol.cyclops.sequence.streamable.Streamable.count()
com.aol.cyclops.sequence.streamable.Streamable.forEachOrdered(Consumer<? super T>)
com.aol.cyclops.sequence.streamable.Streamable.toArray()
com.aol.cyclops.sequence.streamable.Streamable.toArray(IntFunction<A[]>)
com.aol.cyclops.sequence.streamable.Streamable.toList()
com.aol.cyclops.sequence.streamable.Streamable.collect(Supplier<R>, BiConsumer<R, ? super T>, BiConsumer<R, R>)
com.aol.cyclops.sequence.streamable.Streamable.collect(Collector<? super T, A, R>)
com.aol.cyclops.sequence.streamable.Streamable.toCollection(Supplier<C>)
com.aol.cyclops.sequence.streamable.Streamable.permutations()
com.aol.cyclops.sequence.streamable.Streamable.subStream(int, int)
com.aol.cyclops.sequence.streamable.Streamable.get(int)
com.aol.cyclops.sequence.streamable.Streamable.size()
com.aol.cyclops.sequence.streamable.Streamable.combinations(int)
com.aol.cyclops.sequence.streamable.Streamable.combinations()
com.aol.cyclops.sequence.streamable.Streamable.flatten()
com.aol.cyclops.sequence.streamable.Streamable.toOptional()
com.aol.cyclops.sequence.streamable.Streamable.toCompletableFuture()
com.aol.cyclops.sequence.streamable.Streamable.cycle(int)
com.aol.cyclops.sequence.streamable.Streamable.cycle()
com.aol.cyclops.sequence.streamable.Streamable.duplicate()
com.aol.cyclops.sequence.streamable.Streamable.triplicate()
com.aol.cyclops.sequence.streamable.Streamable.quadruplicate()
com.aol.cyclops.sequence.streamable.Streamable.splitAt(int)
com.aol.cyclops.sequence.streamable.Streamable.splitAtHead()
com.aol.cyclops.sequence.streamable.Streamable.splitBy(Predicate<T>)
com.aol.cyclops.sequence.streamable.Streamable.partition(Predicate<T>)
com.aol.cyclops.sequence.streamable.Streamable.cycle(Monoid<T>, int)
com.aol.cyclops.sequence.streamable.Streamable.cycle(Class<R>, int)
com.aol.cyclops.sequence.streamable.Streamable.cycleWhile(Predicate<? super T>)
com.aol.cyclops.sequence.streamable.Streamable.cycleUntil(Predicate<? super T>)
com.aol.cyclops.sequence.streamable.Streamable.zip(Streamable<U>)
com.aol.cyclops.sequence.streamable.Streamable.zip(Streamable<U>, BiFunction<T, U, R>)
com.aol.cyclops.sequence.streamable.Streamable.zip3(Streamable<? extends S>, Streamable<? extends U>)
com.aol.cyclops.sequence.streamable.Streamable.zip4(Streamable<T2>, Streamable<T3>, Streamable<T4>)
com.aol.cyclops.sequence.streamable.Streamable.zipWithIndex()
com.aol.cyclops.sequence.streamable.Streamable.zipStreamable(Streamable<? extends S>, BiFunction<? super T, ? super S, ? extends R>)
com.aol.cyclops.sequence.streamable.Streamable.zipAnyM(AnyM<? extends S>, BiFunction<? super T, ? super S, ? extends R>)
com.aol.cyclops.sequence.streamable.Streamable.zipStream(BaseStream<? extends S, ? extends BaseStream<? extends S, ?>>, BiFunction<? super T, ? super S, ? extends R>)
com.aol.cyclops.sequence.streamable.Streamable.sliding(int)
com.aol.cyclops.sequence.streamable.Streamable.sliding(int, int)
com.aol.cyclops.sequence.streamable.Streamable.grouped(int)
com.aol.cyclops.sequence.streamable.Streamable.groupBy(Function<? super T, ? extends K>)
com.aol.cyclops.sequence.streamable.Streamable.scanLeft(Monoid<T>)
com.aol.cyclops.sequence.streamable.Streamable.scanLeft(U, BiFunction<U, ? super T, U>)
com.aol.cyclops.sequence.streamable.Streamable.scanRight(Monoid<T>)
com.aol.cyclops.sequence.streamable.Streamable.scanRight(U, BiFunction<? super T, U, U>)
com.aol.cyclops.sequence.streamable.Streamable.sorted()
com.aol.cyclops.sequence.streamable.Streamable.sorted(Comparator<? super T>)
com.aol.cyclops.sequence.streamable.Streamable.skip(long)
com.aol.cyclops.sequence.streamable.Streamable.skipWhile(Predicate<? super T>)
com.aol.cyclops.sequence.streamable.Streamable.skipUntil(Predicate<? super T>)
com.aol.cyclops.sequence.streamable.Streamable.limit(long)
com.aol.cyclops.sequence.streamable.Streamable.limitWhile(Predicate<? super T>)
com.aol.cyclops.sequence.streamable.Streamable.limitUntil(Predicate<? super T>)
com.aol.cyclops.sequence.streamable.Streamable.allMatch(Predicate<? super T>)
com.aol.cyclops.sequence.streamable.Streamable.anyMatch(Predicate<? super T>)
com.aol.cyclops.sequence.streamable.Streamable.xMatch(int, Predicate<? super T>)
com.aol.cyclops.sequence.streamable.Streamable.noneMatch(Predicate<? super T>)
com.aol.cyclops.sequence.streamable.Streamable.join()
com.aol.cyclops.sequence.streamable.Streamable.join(String)
com.aol.cyclops.sequence.streamable.Streamable.join(String, String, String)
com.aol.cyclops.sequence.streamable.Streamable.minBy(Function<T, C>)
com.aol.cyclops.sequence.streamable.Streamable.min(Comparator<? super T>)
com.aol.cyclops.sequence.streamable.Streamable.maxBy(Function<T, C>)
com.aol.cyclops.sequence.streamable.Streamable.max(Comparator<? super T>)
com.aol.cyclops.sequence.streamable.Streamable.findFirst()
com.aol.cyclops.sequence.streamable.Streamable.findAny()
com.aol.cyclops.sequence.streamable.Streamable.mapReduce(Monoid<R>)
com.aol.cyclops.sequence.streamable.Streamable.mapReduce(Function<? super T, ? extends R>, Monoid<R>)
com.aol.cyclops.sequence.streamable.Streamable.collectStream(Stream<Collector>)
com.aol.cyclops.sequence.streamable.Streamable.collectIterable(Iterable<Collector>)
com.aol.cyclops.sequence.streamable.Streamable.reduce(Monoid<T>)
com.aol.cyclops.sequence.streamable.Streamable.reduce(BinaryOperator<T>)
com.aol.cyclops.sequence.streamable.Streamable.reduce(T, BinaryOperator<T>)
com.aol.cyclops.sequence.streamable.Streamable.reduce(U, BiFunction<U, ? super T, U>, BinaryOperator<U>)
com.aol.cyclops.sequence.streamable.Streamable.reduce(Stream<Monoid<T>>)
com.aol.cyclops.sequence.streamable.Streamable.reduce(Iterable<Monoid<T>>)
com.aol.cyclops.sequence.streamable.Streamable.foldLeft(Monoid<T>)
com.aol.cyclops.sequence.streamable.Streamable.foldLeft(T, BinaryOperator<T>)
com.aol.cyclops.sequence.streamable.Streamable.foldLeftMapToType(Monoid<T>)
com.aol.cyclops.sequence.streamable.Streamable.foldRight(Monoid<T>)
com.aol.cyclops.sequence.streamable.Streamable.foldRight(T, BinaryOperator<T>)
com.aol.cyclops.sequence.streamable.Streamable.foldRightMapToType(Monoid<T>)
com.aol.cyclops.sequence.streamable.Streamable.toSet()
com.aol.cyclops.sequence.streamable.Streamable.startsWith(Iterable<T>)
com.aol.cyclops.sequence.streamable.Streamable.startsWith(Iterator<T>)
com.aol.cyclops.sequence.streamable.Streamable.anyM()
com.aol.cyclops.sequence.streamable.Streamable.flatMapAnyM(Function<? super T, AnyM<? extends R>>)
com.aol.cyclops.sequence.streamable.Streamable.flatMapCollection(Function<? super T, Collection<? extends R>>)
com.aol.cyclops.sequence.streamable.Streamable.flatMapStream(Function<? super T, BaseStream<? extends R, ?>>)
com.aol.cyclops.sequence.streamable.Streamable.flatMapOptional(Function<? super T, Optional<? extends R>>)
com.aol.cyclops.sequence.streamable.Streamable.flatMapCompletableFuture(Function<? super T, CompletableFuture<? extends R>>)
com.aol.cyclops.sequence.streamable.Streamable.flatMapCharSequence(Function<? super T, CharSequence>)
com.aol.cyclops.sequence.streamable.Streamable.flatMapFile(Function<? super T, File>)
com.aol.cyclops.sequence.streamable.Streamable.flatMapURL(Function<? super T, URL>)
com.aol.cyclops.sequence.streamable.Streamable.flatMapBufferedReader(Function<? super T, BufferedReader>)
com.aol.cyclops.sequence.streamable.Streamable.intersperse(T)
com.aol.cyclops.sequence.streamable.Streamable.ofType(Class<U>)
com.aol.cyclops.sequence.streamable.Streamable.cast(Class<U>)
com.aol.cyclops.sequence.streamable.Streamable.toLazyCollection()
com.aol.cyclops.sequence.streamable.Streamable.toConcurrentLazyCollection()
com.aol.cyclops.sequence.streamable.Streamable.reverse()
com.aol.cyclops.sequence.streamable.Streamable.shuffle()
com.aol.cyclops.sequence.streamable.Streamable.appendStreamable(Streamable<T>)
com.aol.cyclops.sequence.streamable.Streamable.prependStreamable(Streamable<T>)
com.aol.cyclops.sequence.streamable.Streamable.append(T...)
com.aol.cyclops.sequence.streamable.Streamable.prepend(T...)
com.aol.cyclops.sequence.streamable.Streamable.insertAt(int, T...)
com.aol.cyclops.sequence.streamable.Streamable.deleteBetween(int, int)
com.aol.cyclops.sequence.streamable.Streamable.insertStreamableAt(int, Streamable<T>)
com.aol.cyclops.sequence.streamable.Streamable.futureOperations(Executor)
com.aol.cyclops.sequence.streamable.Streamable.endsWith(Iterable<T>)
com.aol.cyclops.sequence.streamable.Streamable.endsWith(Streamable<T>)
com.aol.cyclops.sequence.streamable.Streamable.skip(long, TimeUnit)
com.aol.cyclops.sequence.streamable.Streamable.limit(long, TimeUnit)
com.aol.cyclops.sequence.streamable.Streamable.skipLast(int)
com.aol.cyclops.sequence.streamable.Streamable.limitLast(int)
com.aol.cyclops.sequence.streamable.Streamable.hotStream(Executor)
com.aol.cyclops.sequence.streamable.Streamable.firstValue()
com.aol.cyclops.sequence.streamable.Streamable.single()
com.aol.cyclops.sequence.streamable.Streamable.elementAt(long)
com.aol.cyclops.sequence.streamable.Streamable.get(long)
com.aol.cyclops.sequence.streamable.Streamable.elapsed()
com.aol.cyclops.sequence.streamable.Streamable.timestamp()
com.aol.cyclops.sequence.streamable.Streamable.reversedOf(T...)
com.aol.cyclops.sequence.streamable.Streamable.reversedListOf(List<T>)
com.aol.cyclops.sequence.streamable.Streamable.range(int, int)
com.aol.cyclops.sequence.streamable.Streamable.rangeLong(long, long)
com.aol.cyclops.sequence.streamable.Streamable.fromIntStream(IntStream)
com.aol.cyclops.sequence.streamable.Streamable.fromLongStream(LongStream)
com.aol.cyclops.sequence.streamable.Streamable.fromDoubleStream(DoubleStream)
com.aol.cyclops.sequence.streamable.Streamable.fromList(List<T>)
com.aol.cyclops.sequence.streamable.Streamable.iterate(T, UnaryOperator<T>)
com.aol.cyclops.sequence.streamable.Streamable.generate(Supplier<T>)
com.aol.cyclops.sequence.streamable.Streamable.unzip(Streamable<Tuple2<T, U>>)
com.aol.cyclops.sequence.streamable.Streamable.unzip3(Streamable<Tuple3<T1, T2, T3>>)
com.aol.cyclops.sequence.streamable.Streamable.unzip4(Streamable<Tuple4<T1, T2, T3, T4>>)
com.aol.cyclops.sequence.streamable.Streamable.crossJoin(Streamable<U>)
com.aol.cyclops.sequence.streamable.Streamable.innerJoin(Streamable<U>, BiPredicate<T, U>)
com.aol.cyclops.sequence.streamable.Streamable.leftOuterJoin(Streamable<U>, BiPredicate<T, U>)
com.aol.cyclops.sequence.streamable.Streamable.rightOuterJoin(Streamable<U>, BiPredicate<T, U>)
com.aol.cyclops.sequence.streamable.Streamable.onEmptySwitch(Supplier<Streamable<T>>)
com.aol.cyclops.sequence.streamable.Streamable.onEmpty(T)
com.aol.cyclops.sequence.streamable.Streamable.onEmptyGet(Supplier<T>)
com.aol.cyclops.sequence.streamable.Streamable.onEmptyThrow(Supplier<X>)
com.aol.cyclops.sequence.streamable.Streamable.concat(Streamable<T>)
com.aol.cyclops.sequence.streamable.Streamable.concat(T)
com.aol.cyclops.sequence.streamable.Streamable.concat(T...)
com.aol.cyclops.sequence.streamable.Streamable.distinct(Function<? super T, ? extends U>)
com.aol.cyclops.sequence.streamable.Streamable.shuffle(Random)
com.aol.cyclops.sequence.streamable.Streamable.slice(long, long)
com.aol.cyclops.sequence.streamable.Streamable.sorted(Function<? super T, ? extends U>)
com.aol.cyclops.sequence.streamable.Streamable.xPer(int, long, TimeUnit)
com.aol.cyclops.sequence.streamable.Streamable.onePer(long, TimeUnit)
com.aol.cyclops.sequence.streamable.Streamable.debounce(long, TimeUnit)
com.aol.cyclops.sequence.streamable.Streamable.batchBySizeAndTime(int, long, TimeUnit)
com.aol.cyclops.sequence.streamable.Streamable.batchBySizeAndTime(int, long, TimeUnit, Supplier<C>)
com.aol.cyclops.sequence.streamable.Streamable.batchByTime(long, TimeUnit)
com.aol.cyclops.sequence.streamable.Streamable.batchByTime(long, TimeUnit, Supplier<C>)
com.aol.cyclops.sequence.streamable.Streamable.batchBySize(int)
com.aol.cyclops.sequence.streamable.Streamable.batchBySize(int, Supplier<C>)
com.aol.cyclops.sequence.streamable.Streamable.fixedDelay(long, TimeUnit)
com.aol.cyclops.sequence.streamable.Streamable.jitter(long)
com.aol.cyclops.sequence.streamable.Streamable.windowBySizeAndTime(int, long, TimeUnit)
com.aol.cyclops.sequence.streamable.Streamable.windowWhile(Predicate<T>)
com.aol.cyclops.sequence.streamable.Streamable.windowUntil(Predicate<T>)
com.aol.cyclops.sequence.streamable.Streamable.windowStatefullyWhile(BiPredicate<Streamable<T>, T>)
com.aol.cyclops.sequence.streamable.Streamable.windowByTime(long, TimeUnit)
com.aol.cyclops.sequence.streamable.Streamable.batchUntil(Predicate<T>)
com.aol.cyclops.sequence.streamable.Streamable.batchWhile(Predicate<T>)
com.aol.cyclops.sequence.streamable.Streamable.batchWhile(Predicate<T>, Supplier<C>)
com.aol.cyclops.sequence.streamable.Streamable.batchUntil(Predicate<T>, Supplier<C>)
com.aol.cyclops.sequence.streamable.Streamable.recover(Function<Throwable, T>)
com.aol.cyclops.sequence.streamable.Streamable.recover(Class<EX>, Function<EX, T>)
com.aol.cyclops.sequence.streamable.Streamable.retry(Function<T, R>)
Clone this wiki locally