All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.noheltcj.rxcommon.subjects.BehaviorSubject.kt Maven / Gradle / Ivy

package com.noheltcj.rxcommon.subjects

import com.noheltcj.rxcommon.disposables.Disposable
import com.noheltcj.rxcommon.emitters.Emitter
import com.noheltcj.rxcommon.emitters.HotEmitter
import com.noheltcj.rxcommon.observers.Observer

/**
 * See 
 */
open class BehaviorSubject(seed: E) : Subject() {
  override val emitter: Emitter = HotEmitter()

  var value: E = seed
    private set

  override fun subscribe(observer: Observer): Disposable {
    observer.onNext(value)
    return super.subscribe(observer)
  }

  override fun onNext(value: E) {
    this.value = value
    super.onNext(value)
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy