@Override public void removeValue(String name) { removeAttribute(name); }
@Override public void setAttribute(String name, @Nullable Object value) { assertIsValid(); Assert.notNull(name, "Attribute name must not be null"); if (value != null) { Object oldValue = this.attributes.put(name, value); if (value != oldValue) { if (oldValue instanceof HttpSessionBindingListener) { ((HttpSessionBindingListener) oldValue).valueUnbound(new HttpSessionBindingEvent(this, name, oldValue)); } if (value instanceof HttpSessionBindingListener) { ((HttpSessionBindingListener) value).valueBound(new HttpSessionBindingEvent(this, name, value)); } } } else { removeAttribute(name); } }
/** * @since 4.0 */ @Test(expected = IllegalStateException.class) public void removeAttributeOnInvalidatedSession() { session.invalidate(); session.removeAttribute("name"); }
@Test public void bindingListenerBindListenerThenUnbind() { String bindingListenerName = "bindingListener"; CountingHttpSessionBindingListener bindingListener = new CountingHttpSessionBindingListener(); session.setAttribute(bindingListenerName, bindingListener); session.removeAttribute(bindingListenerName); assertEquals(bindingListener.getCounter(), 0); }
@Override public void removeValue(String name) { removeAttribute(name); }
@Override public void removeValue(String name) { removeAttribute(name); }
@Override public void setAttribute(String name, Object value) { assertIsValid(); Assert.notNull(name, "Attribute name must not be null"); if (value != null) { this.attributes.put(name, value); if (value instanceof HttpSessionBindingListener) { ((HttpSessionBindingListener) value).valueBound(new HttpSessionBindingEvent(this, name, value)); } } else { removeAttribute(name); } }
@Override public void setAttribute(String name, @Nullable Object value) { assertIsValid(); Assert.notNull(name, "Attribute name must not be null"); if (value != null) { Object oldValue = this.attributes.put(name, value); if (value != oldValue) { if (oldValue instanceof HttpSessionBindingListener) { ((HttpSessionBindingListener) oldValue).valueUnbound(new HttpSessionBindingEvent(this, name, oldValue)); } if (value instanceof HttpSessionBindingListener) { ((HttpSessionBindingListener) value).valueBound(new HttpSessionBindingEvent(this, name, value)); } } } else { removeAttribute(name); } }