test_class.declarator: notifier
test_class.modifier: private
test_class.original_string: private HttpSessionNotifier notifier;
test_class.type: HttpSessionNotifier
test_class.var_name: notifier
test_class.declarator: session
test_class.modifier: private
test_class.original_string: private RepositoryBackedSession session;
test_class.type: RepositoryBackedSession
test_class.var_name: session
test_class.declarator: descriptor
test_class.modifier: private
test_class.original_string: private ServletContextDescriptor descriptor;
test_class.type: ServletContextDescriptor
test_class.var_name: descriptor
test_class.file: session-replacement/src/test/java/com/amadeus/session/servlet/TestHttpSessionNotifier.java
test_class.identifier: TestHttpSessionNotifier
test_case.body: @Test
    public void testAttributeRemoved() {
      notifier.attributeRemoved(session, "Test", "very-old-value");
      HttpSessionAttributeListener listener = mock(HttpSessionAttributeListener.class);
      descriptor.addHttpSessionAttributeListener(listener);
      notifier.attributeRemoved(session, "Test", "old-value");
      verify(listener).attributeRemoved(any(HttpSessionBindingEvent.class));
      HttpSessionBindingListener bindingListener = mock(HttpSessionBindingListener.class);
      notifier.attributeRemoved(session, "Test", bindingListener);
      verify(listener, times(2)).attributeRemoved(any(HttpSessionBindingEvent.class));
      verify(bindingListener).valueUnbound(any(HttpSessionBindingEvent.class));
    }
test_case.class_method_signature: TestHttpSessionNotifier.testAttributeRemoved()
test_case.full_signature: @Test public void testAttributeRemoved()
test_case.identifier: testAttributeRemoved
test_case.invocations: attributeRemoved mock addHttpSessionAttributeListener attributeRemoved attributeRemoved verify any mock attributeRemoved attributeRemoved verify times any valueUnbound verify any
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testAttributeRemoved()
focal_class.declarator: descriptor
focal_class.modifier: private
focal_class.original_string: private ServletContextDescriptor descriptor;
focal_class.type: ServletContextDescriptor
focal_class.var_name: descriptor
focal_class.file: session-replacement/src/main/java/com/amadeus/session/servlet/HttpSessionNotifier.java
focal_class.identifier: HttpSessionNotifier
focal_class.interfaces: implements SessionNotifier
focal_class.class_method_signature: HttpSessionNotifier.HttpSessionNotifier(ServletContextDescriptor descriptor)
focal_class.full_signature:   HttpSessionNotifier(ServletContextDescriptor descriptor)
focal_class.identifier: HttpSessionNotifier
focal_class.parameters: (ServletContextDescriptor descriptor)
focal_class.signature:  HttpSessionNotifier(ServletContextDescriptor descriptor)
focal_class.class_method_signature: HttpSessionNotifier.sessionCreated(RepositoryBackedSession session)
focal_class.full_signature: @Override public void sessionCreated(RepositoryBackedSession session)
focal_class.identifier: sessionCreated
focal_class.modifiers: @Override public
focal_class.parameters: (RepositoryBackedSession session)
focal_class.return: void
focal_class.signature: void sessionCreated(RepositoryBackedSession session)
focal_class.class_method_signature: HttpSessionNotifier.attributeAdded(RepositoryBackedSession session, String key, Object value)
focal_class.full_signature: @Override public void attributeAdded(RepositoryBackedSession session, String key, Object value)
focal_class.identifier: attributeAdded
focal_class.modifiers: @Override public
focal_class.parameters: (RepositoryBackedSession session, String key, Object value)
focal_class.return: void
focal_class.signature: void attributeAdded(RepositoryBackedSession session, String key, Object value)
focal_class.class_method_signature: HttpSessionNotifier.attributeReplaced(RepositoryBackedSession session, String key, Object replacedValue)
focal_class.full_signature: @Override public void attributeReplaced(RepositoryBackedSession session, String key, Object replacedValue)
focal_class.identifier: attributeReplaced
focal_class.modifiers: @Override public
focal_class.parameters: (RepositoryBackedSession session, String key, Object replacedValue)
focal_class.return: void
focal_class.signature: void attributeReplaced(RepositoryBackedSession session, String key, Object replacedValue)
focal_class.class_method_signature: HttpSessionNotifier.attributeRemoved(RepositoryBackedSession session, String key, Object removedValue)
focal_class.full_signature: @Override public void attributeRemoved(RepositoryBackedSession session, String key, Object removedValue)
focal_class.identifier: attributeRemoved
focal_class.modifiers: @Override public
focal_class.parameters: (RepositoryBackedSession session, String key, Object removedValue)
focal_class.return: void
focal_class.signature: void attributeRemoved(RepositoryBackedSession session, String key, Object removedValue)
focal_class.class_method_signature: HttpSessionNotifier.attributeBeingStored(RepositoryBackedSession session, String key, Object value)
focal_class.full_signature: @Override public void attributeBeingStored(RepositoryBackedSession session, String key, Object value)
focal_class.identifier: attributeBeingStored
focal_class.modifiers: @Override public
focal_class.parameters: (RepositoryBackedSession session, String key, Object value)
focal_class.return: void
focal_class.signature: void attributeBeingStored(RepositoryBackedSession session, String key, Object value)
focal_class.class_method_signature: HttpSessionNotifier.attributeHasBeenRestored(RepositoryBackedSession session, String key, Object value)
focal_class.full_signature: @Override public void attributeHasBeenRestored(RepositoryBackedSession session, String key, Object value)
focal_class.identifier: attributeHasBeenRestored
focal_class.modifiers: @Override public
focal_class.parameters: (RepositoryBackedSession session, String key, Object value)
focal_class.return: void
focal_class.signature: void attributeHasBeenRestored(RepositoryBackedSession session, String key, Object value)
focal_class.class_method_signature: HttpSessionNotifier.sessionDestroyed(RepositoryBackedSession session, boolean shutdown)
focal_class.full_signature: @Override public void sessionDestroyed(RepositoryBackedSession session, boolean shutdown)
focal_class.identifier: sessionDestroyed
focal_class.modifiers: @Override public
focal_class.parameters: (RepositoryBackedSession session, boolean shutdown)
focal_class.return: void
focal_class.signature: void sessionDestroyed(RepositoryBackedSession session, boolean shutdown)
focal_class.class_method_signature: HttpSessionNotifier.sessionIdChanged(RepositoryBackedSession session, String oldId)
focal_class.full_signature: @Override public void sessionIdChanged(RepositoryBackedSession session, String oldId)
focal_class.identifier: sessionIdChanged
focal_class.modifiers: @Override public
focal_class.parameters: (RepositoryBackedSession session, String oldId)
focal_class.return: void
focal_class.signature: void sessionIdChanged(RepositoryBackedSession session, String oldId)
focal_method.body: @Override
    public void attributeRemoved(RepositoryBackedSession session, String key, Object removedValue) {
      if (session instanceof HttpSession && removedValue instanceof HttpSessionBindingListener) {
        ((HttpSessionBindingListener)removedValue).valueUnbound(new HttpSessionBindingEvent((HttpSession)session, key));
      }
      HttpSessionBindingEvent event = new HttpSessionBindingEvent((HttpSession)session, key);
      for (HttpSessionAttributeListener listener : descriptor.getHttpSessionAttributeListeners()) {
        listener.attributeRemoved(event);
      }
    }
focal_method.class_method_signature: HttpSessionNotifier.attributeRemoved(RepositoryBackedSession session, String key, Object removedValue)
focal_method.full_signature: @Override public void attributeRemoved(RepositoryBackedSession session, String key, Object removedValue)
focal_method.identifier: attributeRemoved
focal_method.invocations: valueUnbound getHttpSessionAttributeListeners attributeRemoved
focal_method.modifiers: @Override public
focal_method.parameters: (RepositoryBackedSession session, String key, Object removedValue)
focal_method.return: void
focal_method.signature: void attributeRemoved(RepositoryBackedSession session, String key, Object removedValue)