Dain Sundstrom wrote:

> My guess is we're going to need to add an event notification system  to
> the Session APIs.  What do you think about just crib off of the  servlet
> ones.  I think we could just smash the three session listener 
> interfaces into something like this:
> 
> public interface SessionListener extends Listener {
>     void valueBound(SessionEvent event);
>     void valueUnbound(SessionEvent event);
>     void attributeAdded(SessionEvent event);
>     void attributeRemoved(SessionEvent event);
>     void attributeRemoved(SessionEvent event);

I think you mean:
 void attributeReplaced(SessionEvent event);


>     void valueBound(SessionEvent event);
>     void valueUnbound(SessionEvent event);
>     void sessionCreated(SessionEvent event)
>     void sessionDestroyed(SessionEvent event)
> }
> 
> public class SessionEvent extends Event {
>     Session getSession();
>     String getName();
>     String getValue();
> }
> 
> We would bind a listener with a method on the Locator:
> 
>     void addSessionListener(SessionListener listener);
>     void removeSessionListener(SessionListener listener);



that would certainly do it - the only change I'd like to see
is that the SessionEvent is


 public class SessionEvent extends Event {
     Session getSession();
     String getName();
     String getOldValue();
     String getNewValue();
 }

As it is confusing for remove and replace what getValue() returns.

Also as the bound/unbound events are actually called on the
value itself, you need both old and new values so you can call
unbind and bind during a replace.

cheers

Reply via email to