|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.jini.lease.AbstractLease
public abstract class AbstractLease
A base class for implementing lease objects. This class takes care of absolute vs relative time issues and implements some of the Lease methods. The subclass is responsible for implementing: doRenew, cancel, createLeaseMap, canBatch, hashCode, equals, and serialization of any subclass state.
Field Summary | |
---|---|
protected long |
expiration
The lease expiration, in local absolute time. |
protected int |
serialFormat
Serialization format for the expiration. |
private static long |
serialVersionUID
|
Fields inherited from interface net.jini.core.lease.Lease |
---|
ABSOLUTE, ANY, DURATION, FOREVER |
Constructor Summary | |
---|---|
protected |
AbstractLease(long expiration)
Construct a relative-format lease. |
Method Summary | |
---|---|
protected abstract long |
doRenew(long duration)
Renew the lease for a duration relative to now, and return the duration actually granted. |
long |
getExpiration()
Return the lease expiration. |
int |
getSerialFormat()
Return the serialization format for the expiration. |
private void |
readObject(ObjectInputStream stream)
If serialFormat is DURATION, add the current time to the expiration, to make it absolute (and if the result of the addition is negative, correct the overflow by resetting the expiration to Long.MAX_VALUE). |
private void |
readObjectNoData()
Throws an InvalidObjectException . |
void |
renew(long duration)
Renew the lease for a duration relative to now. |
void |
setSerialFormat(int format)
Set the serialization format for the expiration. |
private void |
writeObject(ObjectOutputStream stream)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface net.jini.core.lease.Lease |
---|
canBatch, cancel, createLeaseMap |
Field Detail |
---|
private static final long serialVersionUID
protected transient long expiration
protected int serialFormat
Constructor Detail |
---|
protected AbstractLease(long expiration)
Method Detail |
---|
public long getExpiration()
getExpiration
in interface Lease
long
that indicates the time that the
lease will expirepublic int getSerialFormat()
getSerialFormat
in interface Lease
Lease.setSerialFormat(int)
public void setSerialFormat(int format)
setSerialFormat
in interface Lease
format
- DURATION or ABSOLUTELease.getSerialFormat()
public void renew(long duration) throws UnknownLeaseException, LeaseDeniedException, RemoteException
renew
in interface Lease
duration
- the requested duration in milliseconds
UnknownLeaseException
- the lease being renewed is unknown
to the lease grantor
LeaseDeniedException
- the lease grantor is unable or
unwilling to renew the lease
RemoteException
protected abstract long doRenew(long duration) throws UnknownLeaseException, LeaseDeniedException, RemoteException
UnknownLeaseException
LeaseDeniedException
RemoteException
private void writeObject(ObjectOutputStream stream) throws IOException
IOException
private void readObjectNoData() throws InvalidObjectException
InvalidObjectException
.
InvalidObjectException
- unconditionallyprivate void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException
InvalidObjectException
- if serialFormat is neither ABSOLUTE
nor DURATION
IOException
ClassNotFoundException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |