de.kosi.util
Interface DistributedList
- All Superinterfaces:
- java.rmi.Remote
- All Known Implementing Classes:
- DistributedListImpl
- public interface DistributedList
- extends java.rmi.Remote
Interface to a distributed list.
The list consists only of a listener interface. The reason for this is to
keep the list consistent at all times. In a multithreaded environment it
cannot be guaranteed, that there is always a consistent view, when using
events and a get(int i) method. Because of that, the listeners get an event
containing all entries when they are registered with the list. After that
they are notified of every change to the list.
The events contain references to the entries in the list. This means there
are (almost) no problems with events not arriving in order (the only problem
that might occur, is that an remove event arrives before the corresponing
add event). A drawback of this approach is, that there may not be two
entries for the same item.
This way the list can be seen as an unordered set of items.
When an listener receives an add event, this can be because the an item has
been added to the list, or because it has changed. When a call to a remote
item fails, the item should be removed from the list.
ChangeLog:
$Log: DistributedList.java,v $
Revision 1.3 2001/06/08 15:27:33 tanni
new foyer with a nice splitpane
Revision 1.2 2001/06/04 14:21:10 jiriki
Made source more comliant to coding guidelines.
Revision 1.1.1.1 2001/04/29 18:05:19 jiriki
Imported sources from zola.
Revision 1.6 2001/02/19 23:21:17 wombat
Added SSL Support, Implement DistributedListFilter
Revision 1.5 2001/02/02 10:59:15 wombat
Updated Documentationm
Revision 1.4 2001/02/01 14:25:45 wombat
Intoduced InvalidSessionException
Revision 1.3 2001/01/31 15:08:19 wombat
Updated documentation
- Version:
- $Revision: 1.3 $ ($Date: 2001/06/08 15:27:33 $)
- Author:
- Jan-Ole Janssen, Niklas Mehner, Pimo Sticher, Tanni, aber Iris nicht (die hat geschwänzt)
addDistributedListListener
public void addDistributedListListener(DistributedListListener listener,
DistributedListFilter filter)
throws java.rmi.RemoteException,
InvalidSessionException
- Add an event listener.
- Parameters:
listener
- the event listener.filter
- filter for that listener. Only entries, that are not
filtered are send to the listener.- Throws:
java.rmi.RemoteException
- when a RMI exception occurs.InvalidSessionException
- when not called from within a valid
session context.
removeDistributedListListener
public void removeDistributedListListener(DistributedListListener listener)
throws java.rmi.RemoteException
- Remove an event listener.
- Parameters:
listener
- the event listener.- Throws:
java.rmi.RemoteException
- when a RMI exception occurs.