All Projects → stefan-zobel → Streamsupport

stefan-zobel / Streamsupport

Licence: gpl-2.0
Backport of Java 8/9 java.util.stream API to Java 6/7 and Android. Moved from https://sourceforge.net/projects/streamsupport/

Programming Languages

java
68154 projects - #9 most used programming language
flow
126 projects
java8
65 projects

Projects that are alternatives of or similar to Streamsupport

Rhub
Reactive Event Hub
Stars: ✭ 66 (-60%)
Mutual labels:  reactive-streams
Reactor Netty
TCP/HTTP/UDP/QUIC client/server with Reactor over Netty
Stars: ✭ 1,743 (+956.36%)
Mutual labels:  reactive-streams
Rsocket Rpc Java
Standard RSocket RPC Java Implementation
Stars: ✭ 126 (-23.64%)
Mutual labels:  reactive-streams
Rxjavajdk8interop
RxJava 2/3 interop library for supporting Java 8 features such as Optional, Stream and CompletableFuture [discontinued]
Stars: ✭ 70 (-57.58%)
Mutual labels:  reactive-streams
Reactive Spring Security 5 Workshop
Hands-On workshop for securing a reactive spring boot 2 application in multiple steps
Stars: ✭ 92 (-44.24%)
Mutual labels:  reactive-streams
Rxjava
RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
Stars: ✭ 45,607 (+27540.61%)
Mutual labels:  reactive-streams
Phantom
Schema safe, type-safe, reactive Scala driver for Cassandra/Datastax Enterprise
Stars: ✭ 1,049 (+535.76%)
Mutual labels:  reactive-streams
Reactive Ms Example
An educational project to learn reactive programming with Spring 5
Stars: ✭ 157 (-4.85%)
Mutual labels:  reactive-streams
Java Reactive Chat
A Simple Chat App using WebFlux (Reactive Streams), WebSockets and a React frontend.
Stars: ✭ 98 (-40.61%)
Mutual labels:  reactive-streams
Elastic4s
Elasticsearch Scala Client - Reactive, Non Blocking, Type Safe, HTTP Client
Stars: ✭ 1,576 (+855.15%)
Mutual labels:  reactive-streams
Cyclops
An advanced, but easy to use, platform for writing functional applications in Java 8.
Stars: ✭ 1,180 (+615.15%)
Mutual labels:  reactive-streams
Alpakka Kafka
Alpakka Kafka connector - Alpakka is a Reactive Enterprise Integration library for Java and Scala, based on Reactive Streams and Akka.
Stars: ✭ 1,295 (+684.85%)
Mutual labels:  reactive-streams
Spring Webflux Reactive Rest Api Demo
Build Reactive Rest APIs with Spring WebFlux and Reactive Mongo
Stars: ✭ 117 (-29.09%)
Mutual labels:  reactive-streams
Alpakka
Alpakka is a Reactive Enterprise Integration library for Java and Scala, based on Reactive Streams and Akka.
Stars: ✭ 1,154 (+599.39%)
Mutual labels:  reactive-streams
Monix
Asynchronous, Reactive Programming for Scala and Scala.js.
Stars: ✭ 1,819 (+1002.42%)
Mutual labels:  reactive-streams
Sttp
The Scala HTTP client you always wanted!
Stars: ✭ 1,078 (+553.33%)
Mutual labels:  reactive-streams
Jetlinks Community
JetLinks 基于Java8,Spring Boot 2.x ,WebFlux,Netty,Vert.x,Reactor等开发, 是一个全响应式的企业级物联网平台。支持统一物模型管理,多种设备,多种厂家,统一管理。统一设备连接管理,多协议适配(TCP,MQTT,UDP,CoAP,HTTP等),屏蔽网络编程复杂性,灵活接入不同厂家不同协议等设备。实时数据处理,设备告警,消息通知,数据转发。地理位置,数据可视化等。能帮助你快速建立物联网相关业务系统。
Stars: ✭ 2,405 (+1357.58%)
Mutual labels:  reactive-streams
Awesome Reactive Programming
A repository for sharing all the resources available on Reactive Programming and Reactive Systems
Stars: ✭ 163 (-1.21%)
Mutual labels:  reactive-streams
Missionary
A functional effect and streaming system for clojure and clojurescript.
Stars: ✭ 157 (-4.85%)
Mutual labels:  reactive-streams
R2dbc H2
R2DBC H2 Implementation
Stars: ✭ 118 (-28.48%)
Mutual labels:  reactive-streams

Maven Central javadoc.io Download

streamsupport

streamsupport is a backport of the Java 8 java.util.function (functional interfaces) and java.util.stream (streams) API for Android and users of Java 6 or 7 supplemented with selected additions from java.util.concurrent which didn't exist back in Java 6.

Due to the lack of default interface methods and static interface methods in pre-Java 8 the API had to be slightly adjusted in these areas but still covers the full functionality scope of Java 8. In detail, static and default interface methods have been moved to companion classes in the same package that bear the identical name as the interface but with an "s" appended (e.g. Comparator -> Comparators).

For ease of use, the default methods for most of the functional interfaces were NOT retained as abstract methods in the redefined interfaces (keeping them single method interfaces) - the missing default (and static) methods can always be found in the corresponding companion class.

The streamsupport API lives in the packages java8.util.* and java8.lang respectively. So, it's not possible to simply import the java.util.stream package in your code - you'd rather have to use java8.util.stream instead (see Readme.txt for details). While that is fine as long as you have full control over your source code there is the other common scenario of using a binary 3rd party dependency that has been compiled against the standard Java 8 java.util.stream API. In the latter case bytecode rewriting via ProGuard might be an option. ProGuard supports most Java 8 language features and the latest release can also replace the standard Java 8 stream API by the the streamsupport backport (cf. the Proguard documentation, especially the section titled "Java 8 stream API support").

The current stable release of streamsupport is streamsupport-1.7.3.

Want also lambdas? https://github.com/orfjackal/retrolambda

Note that the streamsupport sourceforge site has been discontinued. New developments, if any, will take place here.

Please give feedback here if you experience any problems.

Features

  • Java 8 / Java 9 Streams library backport
  • Java 8 / Java 9 CompletableFuture backport
  • Java 8 Parallel array operations backport
  • Java 8 Functional interfaces backport
  • Further java.util.concurrent enhancements from Java 7/8 backported to Java 6
  • Includes miscellaneous Java 8 / Java 9 goodies (Optional, StringJoiner, ...)
  • Supports Android - all versions, starting from Ice Cream Sandwich

build.gradle:

dependencies {
    implementation 'net.sourceforge.streamsupport:streamsupport:1.7.3'
}

Maven:

<dependency>
    <groupId>net.sourceforge.streamsupport</groupId>
    <artifactId>streamsupport</artifactId>
    <version>1.7.3</version>
</dependency>

Example usage

import java.util.List;
import java8.util.stream.IntStreams;
import java8.util.stream.StreamSupport;
import static java8.util.stream.Collectors.toList;

List<Integer> list = IntStreams.of(1, 2, 3, 4).boxed()
        .collect(toList());

List<Integer> incremented = StreamSupport.stream(list)
        .map(i -> i + 1)
        .collect(toList());

Forks

Android developers using the Android Studio 3.x toolchain should have a look at the streamsupport forks:

Release Notes

Release Notes

LICENSE

GNU General Public License, version 2, with the Classpath Exception (and CC0 1.0 for JSR-166 derived code)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].