test_class.declarator: root
test_class.original_string: MortarScope root;
test_class.type: MortarScope
test_class.var_name: root
test_class.declarator: activityScope
test_class.original_string: MortarScope activityScope;
test_class.type: MortarScope
test_class.var_name: activityScope
test_class.file: mortar/src/test/java/mortar/PresenterTest.java
test_class.identifier: PresenterTest
test_case.body: @Test public void onExitIsFired() {
      SimplePresenter presenter = new SimplePresenter();
      SomeView viewOne = new SomeView();
  
      presenter.takeView(viewOne);
      activityScope.destroy();
  
      assertThat(presenter.destroyed).isSameAs(activityScope);
    }
test_case.class_method_signature: PresenterTest.onExitIsFired()
test_case.full_signature: @Test public void onExitIsFired()
test_case.identifier: onExitIsFired
test_case.invocations: takeView destroy isSameAs assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void onExitIsFired()
focal_class.declarator: view = null
focal_class.modifier: private
focal_class.original_string: private V view = null;
focal_class.type: V
focal_class.var_name: view
focal_class.declarator: loaded
focal_class.modifier: private
focal_class.original_string: private boolean loaded;
focal_class.type: boolean
focal_class.var_name: loaded
focal_class.declarator: registration = new Bundler() {
      @Override public String getMortarBundleKey() {
        return Presenter.this.getMortarBundleKey();
      }
  
      @Override public void onLoad(Bundle savedInstanceState) {
        if (hasView() && !loaded) {
          loaded = true;
          Presenter.this.onLoad(savedInstanceState);
        }
      }
  
      @Override public void onSave(Bundle outState) {
        Presenter.this.onSave(outState);
      }
  
      @Override public void onEnterScope(MortarScope scope) {
        Presenter.this.onEnterScope(scope);
      }
  
      @Override public void onExitScope() {
        Presenter.this.onExitScope();
      }
    }
focal_class.modifier: private
focal_class.original_string: private Bundler registration = new Bundler() {
      @Override public String getMortarBundleKey() {
        return Presenter.this.getMortarBundleKey();
      }
  
      @Override public void onLoad(Bundle savedInstanceState) {
        if (hasView() && !loaded) {
          loaded = true;
          Presenter.this.onLoad(savedInstanceState);
        }
      }
  
      @Override public void onSave(Bundle outState) {
        Presenter.this.onSave(outState);
      }
  
      @Override public void onEnterScope(MortarScope scope) {
        Presenter.this.onEnterScope(scope);
      }
  
      @Override public void onExitScope() {
        Presenter.this.onExitScope();
      }
    };
focal_class.type: Bundler
focal_class.var_name: registration
focal_class.file: mortar/src/main/java/mortar/Presenter.java
focal_class.identifier: Presenter
focal_class.class_method_signature: Presenter.takeView(V view)
focal_class.full_signature: public final void takeView(V view)
focal_class.identifier: takeView
focal_class.modifiers: public final
focal_class.parameters: (V view)
focal_class.return: void
focal_class.signature: void takeView(V view)
focal_class.class_method_signature: Presenter.dropView(V view)
focal_class.full_signature: public void dropView(V view)
focal_class.identifier: dropView
focal_class.modifiers: public
focal_class.parameters: (V view)
focal_class.return: void
focal_class.signature: void dropView(V view)
focal_class.class_method_signature: Presenter.getMortarBundleKey()
focal_class.full_signature: protected String getMortarBundleKey()
focal_class.identifier: getMortarBundleKey
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getMortarBundleKey()
focal_class.class_method_signature: Presenter.extractBundleService(V view)
focal_class.full_signature: protected abstract BundleService extractBundleService(V view)
focal_class.identifier: extractBundleService
focal_class.modifiers: protected abstract
focal_class.parameters: (V view)
focal_class.return: BundleService
focal_class.signature: BundleService extractBundleService(V view)
focal_class.class_method_signature: Presenter.getView()
focal_class.full_signature: protected final V getView()
focal_class.identifier: getView
focal_class.modifiers: protected final
focal_class.parameters: ()
focal_class.return: V
focal_class.signature: V getView()
focal_class.class_method_signature: Presenter.hasView()
focal_class.full_signature: protected final boolean hasView()
focal_class.identifier: hasView
focal_class.modifiers: protected final
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean hasView()
focal_class.class_method_signature: Presenter.onEnterScope(MortarScope scope)
focal_class.full_signature: protected void onEnterScope(MortarScope scope)
focal_class.identifier: onEnterScope
focal_class.modifiers: protected
focal_class.parameters: (MortarScope scope)
focal_class.return: void
focal_class.signature: void onEnterScope(MortarScope scope)
focal_class.class_method_signature: Presenter.onLoad(Bundle savedInstanceState)
focal_class.full_signature: protected void onLoad(Bundle savedInstanceState)
focal_class.identifier: onLoad
focal_class.modifiers: protected
focal_class.parameters: (Bundle savedInstanceState)
focal_class.return: void
focal_class.signature: void onLoad(Bundle savedInstanceState)
focal_class.class_method_signature: Presenter.onSave(Bundle outState)
focal_class.full_signature: protected void onSave(Bundle outState)
focal_class.identifier: onSave
focal_class.modifiers: protected
focal_class.parameters: (Bundle outState)
focal_class.return: void
focal_class.signature: void onSave(Bundle outState)
focal_class.class_method_signature: Presenter.onExitScope()
focal_class.full_signature: protected void onExitScope()
focal_class.identifier: onExitScope
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void onExitScope()
focal_method.body: public final void takeView(V view) {
      if (view == null) throw new NullPointerException("new view must not be null");
  
      if (this.view != view) {
        if (this.view != null) dropView(this.view);
  
        this.view = view;
        extractBundleService(view).register(registration);
      }
    }
focal_method.class_method_signature: Presenter.takeView(V view)
focal_method.full_signature: public final void takeView(V view)
focal_method.identifier: takeView
focal_method.invocations: dropView register extractBundleService
focal_method.modifiers: public final
focal_method.parameters: (V view)
focal_method.return: void
focal_method.signature: void takeView(V view)