public interface JavaSpace
Entry| Modifier and Type | Field and Description | 
|---|---|
static long | 
NO_WAIT
Wait for no time at all. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
EventRegistration | 
notify(Entry tmpl,
      Transaction txn,
      RemoteEventListener listener,
      long lease,
      MarshalledObject handback)
When entries are written that match this template notify the
 given  
listener with a RemoteEvent that
 includes the handback object. | 
Entry | 
read(Entry tmpl,
    Transaction txn,
    long timeout)
Read any matching entry from the space, blocking until one exists. 
 | 
Entry | 
readIfExists(Entry tmpl,
            Transaction txn,
            long timeout)
Read any matching entry from the space, returning
  
null if there is currently is none. | 
Entry | 
snapshot(Entry e)
The process of serializing an entry for transmission to a JavaSpaces
 service will be identical if the same entry is used twice. 
 | 
Entry | 
take(Entry tmpl,
    Transaction txn,
    long timeout)
Take a matching entry from the space, waiting until one exists. 
 | 
Entry | 
takeIfExists(Entry tmpl,
            Transaction txn,
            long timeout)
Take a matching entry from the space, returning
  
null if there is currently is none. | 
Lease | 
write(Entry entry,
     Transaction txn,
     long lease)
Write a new entry into the space. 
 | 
static final long NO_WAIT
read(net.jini.core.entry.Entry, net.jini.core.transaction.Transaction, long), 
readIfExists(net.jini.core.entry.Entry, net.jini.core.transaction.Transaction, long), 
take(net.jini.core.entry.Entry, net.jini.core.transaction.Transaction, long), 
takeIfExists(net.jini.core.entry.Entry, net.jini.core.transaction.Transaction, long), 
Constant Field ValuesLease write(Entry entry, Transaction txn, long lease) throws TransactionException, RemoteException
entry - the entry to writetxn - the transaction object, if any, under which to 
            perform the writelease - the requested lease time, in millisecondsTransactionException - if a transaction error occursRemoteException - if a communication error occursEntry read(Entry tmpl, Transaction txn, long timeout) throws UnusableEntryException, TransactionException, InterruptedException, RemoteException
null if the timeout expires.tmpl - The template used for matching.  Matching is
                        done against tmpl with null
                        fields being wildcards ("match anything") other
                        fields being values ("match exactly on the
                        serialized form").txn - The transaction (if any) under which to work.timeout - How long the client is willing to wait for a
                        transactionally proper matching entry.  A
                        timeout of NO_WAIT means to wait
                        no time at all; this is equivalent to a wait
                        of zero.UnusableEntryException - if any serialized field of the entry 
         being read cannot be deserialized for any reasonTransactionException - if a transaction error occursInterruptedException - if the thread in which the read
         occurs is interruptedRemoteException - if a communication error occursIllegalArgumentException - if a negative timeout value is usedEntry readIfExists(Entry tmpl, Transaction txn, long timeout) throws UnusableEntryException, TransactionException, InterruptedException, RemoteException
null if there is currently is none.  Matching and
 timeouts are done as in read, except that blocking
 in this call is done only if necessary to wait for transactional
 state to settle.tmpl - The template used for matching.  Matching is
                        done against tmpl with null
                        fields being wildcards ("match anything") other
                        fields being values ("match exactly on the
                        serialized form").txn - The transaction (if any) under which to work.timeout - How long the client is willing to wait for a
                        transactionally proper matching entry.  A
                        timeout of NO_WAIT means to wait
                        no time at all; this is equivalent to a wait
                        of zero.UnusableEntryException - if any serialized field of the entry 
         being read cannot be deserialized for any reasonTransactionException - if a transaction error occursInterruptedException - if the thread in which the read
         occurs is interruptedRemoteException - if a communication error occursIllegalArgumentException - if a negative timeout value is usedread(net.jini.core.entry.Entry, net.jini.core.transaction.Transaction, long)Entry take(Entry tmpl, Transaction txn, long timeout) throws UnusableEntryException, TransactionException, InterruptedException, RemoteException
read.tmpl - The template used for matching.  Matching is
                        done against tmpl with null
                        fields being wildcards ("match anything") other
                        fields being values ("match exactly on the
                        serialized form").txn - The transaction (if any) under which to work.timeout - How long the client is willing to wait for a
                        transactionally proper matching entry.  A
                        timeout of NO_WAIT means to wait
                        no time at all; this is equivalent to a wait
                        of zero.UnusableEntryException - if any serialized field of the entry 
         being read cannot be deserialized for any reasonTransactionException - if a transaction error occursInterruptedException - if the thread in which the take
         occurs is interruptedRemoteException - if a communication error occursIllegalArgumentException - if a negative timeout value is usedread(net.jini.core.entry.Entry, net.jini.core.transaction.Transaction, long)Entry takeIfExists(Entry tmpl, Transaction txn, long timeout) throws UnusableEntryException, TransactionException, InterruptedException, RemoteException
null if there is currently is none.  Matching is
 and timeout done as for read, except that blocking
 in this call is done only if necessary to wait for transactional
 state to settle.tmpl - The template used for matching.  Matching is
                        done against tmpl with null
                        fields being wildcards ("match anything") other
                        fields being values ("match exactly on the
                        serialized form").txn - The transaction (if any) under which to work.timeout - How long the client is willing to wait for a
                        transactionally proper matching entry.  A
                        timeout of NO_WAIT means to wait
                        no time at all; this is equivalent to a wait
                        of zero.UnusableEntryException - if any serialized field of the entry 
         being read cannot be deserialized for any reasonTransactionException - if a transaction error occursInterruptedException - if the thread in which the take
         occurs is interruptedRemoteException - if a communication error occursIllegalArgumentException - if a negative timeout value is usedread(net.jini.core.entry.Entry, net.jini.core.transaction.Transaction, long)EventRegistration notify(Entry tmpl, Transaction txn, RemoteEventListener listener, long lease, MarshalledObject handback) throws TransactionException, RemoteException
listener with a RemoteEvent that
 includes the handback object.  Matching is done as
 for read.tmpl - The template used for matching.  Matching is
                        done against tmpl with null
                        fields being wildcards ("match anything") other
                        fields being values ("match exactly on the
                        serialized form").txn - The transaction (if any) under which to work.listener - The remote event listener to notify.lease - the requested lease time, in millisecondshandback - An object to send to the listener as part of the 
                  event notification.TransactionException - if a transaction error occursRemoteException - if a communication error occursIllegalArgumentException - if the lease time requested 
         is not Lease.ANY and is negativeread(net.jini.core.entry.Entry, net.jini.core.transaction.Transaction, long), 
EventRegistrationEntry snapshot(Entry e) throws RemoteException
read or take. The client-side 
 implementations of read and take cannot
 reasonably avoid this duplicated effort, since they have no efficient
 way of checking whether the same template is being used without
 intervening modification.
 The snapshot method gives the JavaSpaces service implementor
 a way to reduce the impact of repeated use of the same entry. Invoking
 snapshot with an Entry will return another
 Entry object that contains a snapshot of the
 original entry. Using the returned snapshot entry is equivalent to
 using the unmodified original entry in all operations on the same
 JavaSpaces service. Modifications to the original entry will not
 affect the snapshot. You can snapshot a null
 template; snapshot may or may not return null given a
 null template.
 The entry returned from snapshot will be guaranteed
 equivalent to the original unmodified object only when used with
 the space. Using the snapshot with any other JavaSpaces service
 will generate an IllegalArgumentException unless the
 other space can use it because of knowledge about the JavaSpaces
 service that generated the snapshot. The snapshot will be a different
 object from the original, may or may not have the same hash code,
 and equals may or may not return true
 when invoked with the original object, even if the original
 object is unmodified.
 A snapshot is guaranteed to work only within the virtual machine
 in which it was generated. If a snapshot is passed to another 
 virtual machine (for example, in a parameter of an RMI call),
 using it--even with the same JavaSpaces service--may generate
 an IllegalArgumentException.e - the entry to take a snapshot of.RemoteException - if a communication error occurs