test_class.declarator: testException = new Throwable()
test_class.modifier: private final
test_class.original_string: private final Throwable testException = new Throwable();
test_class.type: Throwable
test_class.var_name: testException
test_class.file: rxjava/src/test/java/io/reactivex/subjects/BehaviorSubjectTest.java
test_class.identifier: BehaviorSubjectTest
test_class.superclass: extends SubjectTest<Integer>
test_case.body: @Test
      public void onSubscribe() {
          BehaviorSubject<Object> p = BehaviorSubject.create();
  
          Disposable bs = Disposables.empty();
  
          p.onSubscribe(bs);
  
          assertFalse(bs.isDisposed());
  
          p.onComplete();
  
          bs = Disposables.empty();
  
          p.onSubscribe(bs);
  
          assertTrue(bs.isDisposed());
      }
test_case.class_method_signature: BehaviorSubjectTest.onSubscribe()
test_case.full_signature: @Test public void onSubscribe()
test_case.identifier: onSubscribe
test_case.invocations: create empty onSubscribe assertFalse isDisposed onComplete empty onSubscribe assertTrue isDisposed
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void onSubscribe()
focal_class.declarator: EMPTY_ARRAY = new Object[0]
focal_class.modifier: private static final
focal_class.original_string: private static final Object[] EMPTY_ARRAY = new Object[0];
focal_class.type: Object[]
focal_class.var_name: EMPTY_ARRAY
focal_class.declarator: value
focal_class.modifier: final
focal_class.original_string: final AtomicReference<Object> value;
focal_class.type: AtomicReference<Object>
focal_class.var_name: value
focal_class.declarator: subscribers
focal_class.modifier: final
focal_class.original_string: final AtomicReference<BehaviorDisposable<T>[]> subscribers;
focal_class.type: AtomicReference<BehaviorDisposable<T>[]>
focal_class.var_name: subscribers
focal_class.declarator: EMPTY = new BehaviorDisposable[0]
focal_class.modifier: @SuppressWarnings("rawtypes")
      static final
focal_class.original_string: @SuppressWarnings("rawtypes")
      static final BehaviorDisposable[] EMPTY = new BehaviorDisposable[0];
focal_class.type: BehaviorDisposable[]
focal_class.var_name: EMPTY
focal_class.declarator: TERMINATED = new BehaviorDisposable[0]
focal_class.modifier: @SuppressWarnings("rawtypes")
      static final
focal_class.original_string: @SuppressWarnings("rawtypes")
      static final BehaviorDisposable[] TERMINATED = new BehaviorDisposable[0];
focal_class.type: BehaviorDisposable[]
focal_class.var_name: TERMINATED
focal_class.declarator: lock
focal_class.modifier: final
focal_class.original_string: final ReadWriteLock lock;
focal_class.type: ReadWriteLock
focal_class.var_name: lock
focal_class.declarator: readLock
focal_class.modifier: final
focal_class.original_string: final Lock readLock;
focal_class.type: Lock
focal_class.var_name: readLock
focal_class.declarator: writeLock
focal_class.modifier: final
focal_class.original_string: final Lock writeLock;
focal_class.type: Lock
focal_class.var_name: writeLock
focal_class.declarator: terminalEvent
focal_class.modifier: final
focal_class.original_string: final AtomicReference<Throwable> terminalEvent;
focal_class.type: AtomicReference<Throwable>
focal_class.var_name: terminalEvent
focal_class.declarator: index
focal_class.original_string: long index;
focal_class.type: long
focal_class.var_name: index
focal_class.file: rxjava/src/main/java/io/reactivex/subjects/BehaviorSubject.java
focal_class.identifier: BehaviorSubject
focal_class.class_method_signature: BehaviorSubject.create()
focal_class.full_signature: @CheckReturnValue @NonNull public static BehaviorSubject<T> create()
focal_class.identifier: create
focal_class.modifiers: @CheckReturnValue @NonNull public static
focal_class.parameters: ()
focal_class.return: BehaviorSubject<T>
focal_class.signature: BehaviorSubject<T> create()
focal_class.class_method_signature: BehaviorSubject.createDefault(T defaultValue)
focal_class.full_signature: @CheckReturnValue @NonNull public static BehaviorSubject<T> createDefault(T defaultValue)
focal_class.identifier: createDefault
focal_class.modifiers: @CheckReturnValue @NonNull public static
focal_class.parameters: (T defaultValue)
focal_class.return: BehaviorSubject<T>
focal_class.signature: BehaviorSubject<T> createDefault(T defaultValue)
focal_class.class_method_signature: BehaviorSubject.BehaviorSubject()
focal_class.full_signature: @SuppressWarnings("unchecked")  BehaviorSubject()
focal_class.identifier: BehaviorSubject
focal_class.modifiers: @SuppressWarnings("unchecked")
focal_class.parameters: ()
focal_class.signature:  BehaviorSubject()
focal_class.class_method_signature: BehaviorSubject.BehaviorSubject(T defaultValue)
focal_class.full_signature:   BehaviorSubject(T defaultValue)
focal_class.identifier: BehaviorSubject
focal_class.parameters: (T defaultValue)
focal_class.signature:  BehaviorSubject(T defaultValue)
focal_class.class_method_signature: BehaviorSubject.subscribeActual(Observer<? super T> observer)
focal_class.full_signature: @Override protected void subscribeActual(Observer<? super T> observer)
focal_class.identifier: subscribeActual
focal_class.modifiers: @Override protected
focal_class.parameters: (Observer<? super T> observer)
focal_class.return: void
focal_class.signature: void subscribeActual(Observer<? super T> observer)
focal_class.class_method_signature: BehaviorSubject.onSubscribe(Disposable s)
focal_class.full_signature: @Override public void onSubscribe(Disposable s)
focal_class.identifier: onSubscribe
focal_class.modifiers: @Override public
focal_class.parameters: (Disposable s)
focal_class.return: void
focal_class.signature: void onSubscribe(Disposable s)
focal_class.class_method_signature: BehaviorSubject.onNext(T t)
focal_class.full_signature: @Override public void onNext(T t)
focal_class.identifier: onNext
focal_class.modifiers: @Override public
focal_class.parameters: (T t)
focal_class.return: void
focal_class.signature: void onNext(T t)
focal_class.class_method_signature: BehaviorSubject.onError(Throwable t)
focal_class.full_signature: @Override public void onError(Throwable t)
focal_class.identifier: onError
focal_class.modifiers: @Override public
focal_class.parameters: (Throwable t)
focal_class.return: void
focal_class.signature: void onError(Throwable t)
focal_class.class_method_signature: BehaviorSubject.onComplete()
focal_class.full_signature: @Override public void onComplete()
focal_class.identifier: onComplete
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void onComplete()
focal_class.class_method_signature: BehaviorSubject.hasObservers()
focal_class.full_signature: @Override public boolean hasObservers()
focal_class.identifier: hasObservers
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean hasObservers()
focal_class.class_method_signature: BehaviorSubject.subscriberCount()
focal_class.full_signature:  int subscriberCount()
focal_class.identifier: subscriberCount
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int subscriberCount()
focal_class.class_method_signature: BehaviorSubject.getThrowable()
focal_class.full_signature: @Override @Nullable public Throwable getThrowable()
focal_class.identifier: getThrowable
focal_class.modifiers: @Override @Nullable public
focal_class.parameters: ()
focal_class.return: Throwable
focal_class.signature: Throwable getThrowable()
focal_class.class_method_signature: BehaviorSubject.getValue()
focal_class.full_signature: @Nullable public T getValue()
focal_class.identifier: getValue
focal_class.modifiers: @Nullable public
focal_class.parameters: ()
focal_class.return: T
focal_class.signature: T getValue()
focal_class.class_method_signature: BehaviorSubject.getValues()
focal_class.full_signature: public Object[] getValues()
focal_class.identifier: getValues
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Object[]
focal_class.signature: Object[] getValues()
focal_class.class_method_signature: BehaviorSubject.getValues(T[] array)
focal_class.full_signature: @SuppressWarnings("unchecked") public T[] getValues(T[] array)
focal_class.identifier: getValues
focal_class.modifiers: @SuppressWarnings("unchecked") public
focal_class.parameters: (T[] array)
focal_class.return: T[]
focal_class.signature: T[] getValues(T[] array)
focal_class.class_method_signature: BehaviorSubject.hasComplete()
focal_class.full_signature: @Override public boolean hasComplete()
focal_class.identifier: hasComplete
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean hasComplete()
focal_class.class_method_signature: BehaviorSubject.hasThrowable()
focal_class.full_signature: @Override public boolean hasThrowable()
focal_class.identifier: hasThrowable
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean hasThrowable()
focal_class.class_method_signature: BehaviorSubject.hasValue()
focal_class.full_signature: public boolean hasValue()
focal_class.identifier: hasValue
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean hasValue()
focal_class.class_method_signature: BehaviorSubject.add(BehaviorDisposable<T> rs)
focal_class.full_signature:  boolean add(BehaviorDisposable<T> rs)
focal_class.identifier: add
focal_class.parameters: (BehaviorDisposable<T> rs)
focal_class.return: boolean
focal_class.signature: boolean add(BehaviorDisposable<T> rs)
focal_class.class_method_signature: BehaviorSubject.remove(BehaviorDisposable<T> rs)
focal_class.full_signature: @SuppressWarnings("unchecked") void remove(BehaviorDisposable<T> rs)
focal_class.identifier: remove
focal_class.modifiers: @SuppressWarnings("unchecked")
focal_class.parameters: (BehaviorDisposable<T> rs)
focal_class.return: void
focal_class.signature: void remove(BehaviorDisposable<T> rs)
focal_class.class_method_signature: BehaviorSubject.terminate(Object terminalValue)
focal_class.full_signature: @SuppressWarnings("unchecked") BehaviorDisposable<T>[] terminate(Object terminalValue)
focal_class.identifier: terminate
focal_class.modifiers: @SuppressWarnings("unchecked")
focal_class.parameters: (Object terminalValue)
focal_class.return: BehaviorDisposable<T>[]
focal_class.signature: BehaviorDisposable<T>[] terminate(Object terminalValue)
focal_class.class_method_signature: BehaviorSubject.setCurrent(Object o)
focal_class.full_signature:  void setCurrent(Object o)
focal_class.identifier: setCurrent
focal_class.parameters: (Object o)
focal_class.return: void
focal_class.signature: void setCurrent(Object o)
focal_class.superclass: extends Subject<T>
focal_method.body: @Override
      public void onSubscribe(Disposable s) {
          if (terminalEvent.get() != null) {
              s.dispose();
          }
      }
focal_method.class_method_signature: BehaviorSubject.onSubscribe(Disposable s)
focal_method.full_signature: @Override public void onSubscribe(Disposable s)
focal_method.identifier: onSubscribe
focal_method.invocations: get dispose
focal_method.modifiers: @Override public
focal_method.parameters: (Disposable s)
focal_method.return: void
focal_method.signature: void onSubscribe(Disposable s)