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.
/** * 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.annotations.NonNull;
Base interface for emitting signals in a push-fashion in various generator-like source operators (create, generate).

Note that the onNext, onError and onComplete methods provided to the function via the Emitter instance should be called synchronously, never concurrently. Calling them from multiple threads is not supported and leads to an undefined behavior.

Type parameters:
  • <T> – the value type emitted
/** * Base interface for emitting signals in a push-fashion in various generator-like source * operators (create, generate). * <p> * Note that the {@link Emitter#onNext}, {@link Emitter#onError} and * {@link Emitter#onComplete} methods provided to the function via the {@link Emitter} instance should be called synchronously, * never concurrently. Calling them from multiple threads is not supported and leads to an * undefined behavior. * * @param <T> the value type emitted */
public interface Emitter<T> {
Signal a normal value.
Params:
  • value – the value to signal, not null
/** * Signal a normal value. * @param value the value to signal, not null */
void onNext(@NonNull T value);
Signal a Throwable exception.
Params:
  • error – the Throwable to signal, not null
/** * Signal a Throwable exception. * @param error the Throwable to signal, not null */
void onError(@NonNull Throwable error);
Signal a completion.
/** * Signal a completion. */
void onComplete(); }