org.codehaus.wadi.core.session
Class DistributableAttributes

java.lang.Object
  extended by org.codehaus.wadi.core.session.StandardAttributes
      extended by org.codehaus.wadi.core.session.DistributableAttributes
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, Attributes
Direct Known Subclasses:
LazyAttributes

public class DistributableAttributes
extends StandardAttributes
implements java.io.Externalizable

A DistributableAttributes object needs to be Listener aware. When a Session is invalidated in Serialised state, we only want to deserialise the Attributes that we absolutely have to - in other words, those expecting some kind of notification (activation or unbinding). If the Context has HttpSessionAttributeListeners registered, then we will have to explicitly remove every attribute from every session anyway, so there is no need to keep a separate tally.

Version:
$Revision: 1139 $
Author:
Jules Gosnell
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.codehaus.wadi.core.session.StandardAttributes
memento, valueFactory
 
Constructor Summary
DistributableAttributes(ValueFactory valueFactory)
           
 
Method Summary
protected  StandardAttributesMemento newMemento()
           
 void readExternal(java.io.ObjectInput oi)
           
 void writeExternal(java.io.ObjectOutput oo)
           
 
Methods inherited from class org.codehaus.wadi.core.session.StandardAttributes
clear, containsKey, get, getAttributesMap, getMemento, isEmpty, keySet, put, remove, setMemento, size, values
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DistributableAttributes

public DistributableAttributes(ValueFactory valueFactory)
Method Detail

newMemento

protected StandardAttributesMemento newMemento()
Overrides:
newMemento in class StandardAttributes

readExternal

public void readExternal(java.io.ObjectInput oi)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Specified by:
readExternal in interface java.io.Externalizable
Throws:
java.io.IOException
java.lang.ClassNotFoundException

writeExternal

public void writeExternal(java.io.ObjectOutput oo)
                   throws java.io.IOException
Specified by:
writeExternal in interface java.io.Externalizable
Throws:
java.io.IOException


Copyright © 2008. All Rights Reserved.