/** * Copyright 2013 Netflix, Inc. * * 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 rx; /** * Provides a mechanism for receiving push-based notifications. *

* After an Observer calls an {@link Observable}'s * Observable.subscribe method, the {@link Observable} calls the * Observer's onNext method to provide notifications. A * well-behaved {@link Observable} will call an Observer's * onCompleted closure exactly once or the Observer's * onError closure exactly once. *

* For more information see the * RxJava Wiki * * @param */ public interface Observer { /** * Notifies the Observer that the {@link Observable} has finished sending * push-based notifications. *

* The {@link Observable} will not call this closure if it calls * onError. */ public void onCompleted(); /** * Notifies the Observer that the {@link Observable} has experienced an * error condition. *

* If the {@link Observable} calls this closure, it will not thereafter call * onNext or onCompleted. * * @param e */ public void onError(Exception e); /** * Provides the Observer with new data. *

* The {@link Observable} calls this closure 1 or more times, unless it * calls onError in which case this closure may never be * called. *

* The {@link Observable} will not call this closure again after it calls * either onCompleted or onError. * * @param args */ public void onNext(T args); }