/** * 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. */ package io.reactivex; import io.reactivex.disposables.Disposable; /** * Provides a mechanism for receiving push-based notifications. *
* After an Observer calls an {@link Observable}'s {@link Observable#subscribe subscribe} method,
* first the Observable calls {@link #onSubscribe(Disposable)} with a {@link Disposable} that allows
* cancelling the sequence at any time, then the
* {@code Observable} may call the Observer's {@link #onNext} method any number of times
* to provide notifications. A well-behaved
* {@code Observable} will call an Observer's {@link #onComplete} method exactly once or the Observer's
* {@link #onError} method exactly once.
*
* @see ReactiveX documentation: Observable
* @param
* The {@link Observable} may call this method 0 or more times.
*
* The {@code Observable} will not call this method again after it calls either {@link #onComplete} or
* {@link #onError}.
*
* @param t
* the item emitted by the Observable
*/
void onNext(T t);
/**
* Notifies the Observer that the {@link Observable} has experienced an error condition.
*
* If the {@link Observable} calls this method, it will not thereafter call {@link #onNext} or
* {@link #onComplete}.
*
* @param e
* the exception encountered by the Observable
*/
void onError(Throwable e);
/**
* Notifies the Observer that the {@link Observable} has finished sending push-based notifications.
*
* The {@link Observable} will not call this method if it calls {@link #onError}.
*/
void onComplete();
}