io.reactivex.rxjava3.core.package-info Maven / Gradle / Ivy
Show all versions of rxjava Show documentation
/*
* Copyright (c) 2016-present, RxJava Contributors.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is
* distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See
* the License for the specific language governing permissions and limitations under the License.
*/
/**
* Base reactive classes: {@link io.reactivex.rxjava3.core.Flowable}, {@link io.reactivex.rxjava3.core.Observable},
* {@link io.reactivex.rxjava3.core.Single}, {@link io.reactivex.rxjava3.core.Maybe} and
* {@link io.reactivex.rxjava3.core.Completable}; base reactive consumers;
* other common base interfaces.
*
* A library that enables subscribing to and composing asynchronous events and
* callbacks.
* The Flowable/Subscriber, Observable/Observer, Single/SingleObserver and
* Completable/CompletableObserver interfaces and associated operators (in
* the {@code io.reactivex.internal.operators} package) are inspired by the
* Reactive Rx library in Microsoft .NET but designed and implemented on
* the more advanced Reactive-Streams ( http://www.reactivestreams.org ) principles.
*
* More information can be found at http://msdn.microsoft.com/en-us/data/gg577609.
*
*
*
* Compared with the Microsoft implementation:
*
* - Observable == IObservable (base type)
* - Observer == IObserver (event consumer)
* - Disposable == IDisposable (resource/cancellation management)
* - Observable == Observable (factory methods)
* - Flowable == IAsyncEnumerable (backpressure)
* - Subscriber == IAsyncEnumerator
*
* The Single and Completable reactive base types have no equivalent in Rx.NET as of 3.x.
*
* Services which intend on exposing data asynchronously and wish
* to allow reactive processing and composition can implement the
* {@link io.reactivex.rxjava3.core.Flowable}, {@link io.reactivex.rxjava3.core.Observable}, {@link io.reactivex.rxjava3.core.Single},
* {@link io.reactivex.rxjava3.core.Maybe} or {@link io.reactivex.rxjava3.core.Completable} class which then allow
* consumers to subscribe to them and receive events.
* Usage examples can be found on the {@link io.reactivex.rxjava3.core.Flowable}/{@link io.reactivex.rxjava3.core.Observable} and {@link org.reactivestreams.Subscriber} classes.
*/
package io.reactivex.rxjava3.core;