ca.odell.glazedlists.io
Class NetworkList
- EventListener, EventList<E>, List, ListEventListener<E>
public final class NetworkList
An
EventList
that is either published to the network or subscribed from
the network. Since list elements must be transmitted over the network, each
NetworkList
requires a
ByteCoder
to convert
Object
s to
and from bytes.
To instantiate a
NetworkList
, use the
subscribe()
and
publish()
methods
of a started
ListPeer
.
NetworkList
s may be taken offline and brought back online with the
connect()
and
disconnect()
methods. This allows an application
to use a
NetworkList
in spite of an unreliable network connection.
As a consequence of imperfect networks,
NetworkList
s may sometimes go
offline on their own. Some causes of this include the server program shutting
down or crashing, the local network connection becoming unavailable, or a
problem with the physical link, such as an unplugged cable.
NetworkList
s use a subset of HTTP/1.1 for transport, including
chunked encoding. This protocol brings its own set of advantages:
HTTP is a standard well-understood protocol
Clients may be served even if they are behind NAT or Firewalls
The connection could be proxied by a standard HTTP proxy server, if necessary
In theory, the served port could be shared with another HTTP daemon such as Tomcat
And HTTP brings some disadvantages also:
A persistent connection must be held, even if updates are infrequent
It cannot be differentiated from web traffic for analysis
Warning: The protocol used by
this version of NetworkList
will be incompatible with future versions.
Eventually the protocol will be finalized but the current protocol is a work
in progress.
Warning: This class
breaks the contract required by java.util.List
. See EventList
for an example.
EventList Overview |
Writable: | yes |
Concurrency: | Requires ReadWriteLock for every access, even for single-threaded use |
Performance: | N/A |
Memory: | O(N) |
Unit Tests: | N/A |
Issues: | N/A |
add , addAll , clear , dispose , get , getSourceIndex , isWritable , listChanged , remove , removeAll , retainAll , set , size |
T[] toArray , add , add , addAll , addAll , addListEventListener , clear , contains , containsAll , equals , get , getPublisher , getReadWriteLock , hashCode , indexOf , isEmpty , iterator , lastIndexOf , listIterator , listIterator , remove , remove , removeAll , removeListEventListener , retainAll , set , size , subList , toArray , toString |
connect
public void connect()
Attempts to bring this
NetworkList
online. When the connection attempt
is successful (or when it fails), all
ResourceStatusListener
s will be
notified.
disconnect
public void disconnect()
Attempts to take this
NetworkList
offline. When the
NetworkList
is fully disconnected, all
ResourceStatusListener
s will be notified.
isConnected
public boolean isConnected()
Returns true if this resource is on the network. For published lists, this
requires that the list is being served. For subscribed lists, this requires
that a connection to the server has been established.
listChanged
public void listChanged(ListEvent<E> listChanges)
removeStatusListener
public void removeStatusListener(NetworkListStatusListener listener)
Deregisters the specified listener from receiving events about the status of
this
NetworkList
.
Glazed Lists, Copyright © 2003-2006 publicobject.com, O'Dell Engineering.
Documentation build by buildd at 2008-01-04 14:38