Class DistributedListImpl

All Implemented Interfaces:
DistributedList, java.rmi.Remote,
Direct Known Subclasses:

public class DistributedListImpl
extends java.lang.Object
implements DistributedList,

This class contains the default implementation of the DistributedList interface. In addition to the DistributedList methods, there are methods for adding and removing items, which may only be called by local code.


 $Log:,v $
 Revision 1.11  2001/08/02 10:44:30  jiriki
 Worked on Tournament

 Revision 1.10  2001/07/20 14:37:08  jiriki
 Fixed Bug 440605

 Revision 1.9  2001/07/20 13:45:48  jiriki
 Fixed Bug 440617

 Revision 1.8  2001/07/20 13:01:41  jiriki
 Start of BugFixing

 Revision 1.7  2001/06/22 13:24:32  jiriki
 Implemented kicking

 Revision 1.6  2001/06/12 17:14:33  jiriki
 - Reimplemented DistributedList to make filters working
 - Made ServertestCase working.

 Revision 1.5  2001/06/04 14:21:10  jiriki
 Made source more comliant to coding guidelines.

 Revision 1.4  2001/05/22 10:16:03  jiriki
 - Removed old unused Client class
 - Removed unused import statements.

 Revision 1.3  2001/05/20 16:00:40  jiriki
 Moved WaitObjectManager to ListenerList.

 Revision 1.2  2001/05/09 19:59:18  jiriki
 Removed Bug 422755.

 Revision  2001/04/29 18:05:19  jiriki
 Imported sources from zola.

 Revision 1.16  2001/04/11 17:40:49  wombat
 Updated Documentation.

 Revision 1.15  2001/04/11 16:54:04  wombat
 Removed some bugs when joining table and immidiatly leaving again.

 Revision 1.14  2001/04/09 13:03:10  wombat
 Removed timeout from threadpool (did not work)

 Revision 1.13  2001/03/21 13:26:36  wombat
 - Removed bugs in Table
 - began implementation of stree client
 - updated documentation

 Revision 1.12  2001/03/20 18:17:31  wombat
 Added logging support

 Revision 1.11  2001/03/19 21:50:49  wombat
 - Worked on admin client.
 - improved shutdown sequence
 - removed bugs in login/logout sequence

 Revision 1.10  2001/03/18 17:32:04  wombat
 Changed database concept

 Revision 1.9  2001/03/01 21:28:14  wombat
 Updated TestClient
 Resolved some bugs

 Revision 1.8  2001/03/01 14:43:00  wombat
 Worked on table implementation.

 Revision 1.7  2001/02/26 11:21:45  wombat
 Worked on table.

 Revision 1.6  2001/02/25 23:16:05  wombat
 - deadlock vermeidung umgestellt.
 - ListenerList erstellt

 Revision 1.5  2001/02/19 23:21:17  wombat
 Added SSL Support, Implement DistributedListFilter

 Revision 1.4  2001/02/02 10:59:15  wombat
 Updated Documentationm

 Revision 1.3  2001/02/01 14:25:45  wombat
 Intoduced InvalidSessionException

 Revision 1.2  2001/01/31 15:08:19  wombat
 Updated documentation


$Revision: 1.11 $ ($Date: 2001/08/02 10:44:30 $)
Jan-Ole Janssen, Niklas Mehner, Time Sticher
See Also:
Serialized Form

Constructor Summary
          Creates a new (empty) DistributedListImpl.
protected DistributedListImpl(java.util.List entries)
          Creates a new DistributedListImpl based on a list of entries.
Method Summary
 void add(java.lang.Object entry)
          Adds an entry to the list.
 void addDistributedListListener(DistributedListListener listener, DistributedListFilter filter)
          Adds a DistributedListListener.
 void barrier()
          A barrier for the DistributedList.
 void change(java.lang.Object entry)
          Notifies the list, that an entry has changed.
 de.kosi.util.DistributedListImpl.FilteredListener getFilteredListener(DistributedListFilter filter)
 int getFilteredListenerCount()
protected  java.lang.Object readResolve()
          This method is called during deserialization and is used to initialize transient fields.
 void remove(java.lang.Object entry)
          Removes an entry from the list.
 void removeDistributedListListener(DistributedListListener listener)
          Removes a DistributedListListener.
 int size()
          Return the nubmer of entries in the list.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public DistributedListImpl()
Creates a new (empty) DistributedListImpl.


protected DistributedListImpl(java.util.List entries)
Creates a new DistributedListImpl based on a list of entries.
entries - List this Distributed list should be based on.
Method Detail


protected java.lang.Object readResolve()
This method is called during deserialization and is used to initialize transient fields.


public int getFilteredListenerCount()


public void add(java.lang.Object entry)
Adds an entry to the list.
entry - entry to be added to the list.
java.lang.IllegalArgumentException - If the entry is already contained in the list


public void remove(java.lang.Object entry)
Removes an entry from the list.
entry - entry to be removed to the list.


public void change(java.lang.Object entry)
Notifies the list, that an entry has changed.
entry - entry that has changed.


public void barrier()
A barrier for the DistributedList. When this method is invoked, it is assured, that all outstanding events are dispatched, before the method returns.


public int size()
Return the nubmer of entries in the list.
number of entries.


public de.kosi.util.DistributedListImpl.FilteredListener getFilteredListener(DistributedListFilter filter)


public void addDistributedListListener(DistributedListListener listener,
                                       DistributedListFilter filter)
                                throws InvalidSessionException
Adds a DistributedListListener.
Specified by:
addDistributedListListener in interface DistributedList
listener - listener to be added.
filter - filter for that listener. Only entries, that are not filtered are send to the listener.
InvalidSessionException - when not called from within a valid session context.


public void removeDistributedListListener(DistributedListListener listener)
Removes a DistributedListListener. This method dispatches the task of removeing the listener to the cleaner thread.
Specified by:
removeDistributedListListener in interface DistributedList
listener - listener to be removed.