Class LeaseProxy

java.lang.Object
com.j_spaces.core.LeaseProxy
All Implemented Interfaces:
SmartExternalizable, LeaseContext, Externalizable, Serializable, Lease

public class LeaseProxy extends Object implements LeaseContext, SmartExternalizable
An instance of this class represents an entry/template lease or a lease of an event registration results from an event registration.
You can get entry UID from the entry Lease object. e.g.
 
 Message o = new Message ("A");
 Lease lease = space.write(o, null, Lease.FOREVER);
 LeaseProxy lp = (LeaseProxy) lease;
 String uid = lp.getUID();
 
 
Version:
1.0
Author:
Igor Goldenberg
See Also:
  • Field Details

    • _expirationTime

      protected long _expirationTime
  • Constructor Details

    • LeaseProxy

      public LeaseProxy()
      Required for Externalizable.
    • LeaseProxy

      public LeaseProxy(long expirationTime, String uid, String classname, int version, int objectType)
    • LeaseProxy

      public LeaseProxy(long expirationTime, String uid, String classname, int version, int objectType, SpaceImpl spaceImpl)
    • LeaseProxy

      protected LeaseProxy(LeaseProxy lease)
  • Method Details

    • getExpiration

      public long getExpiration()
      Description copied from interface: Lease
      Returns a long that indicates the time that the lease will expire. This time is represented as milliseconds from the beginning of the epoch, relative to the local clock.
      Specified by:
      getExpiration in interface Lease
      Returns:
      a long that indicates the time that the lease will expire
    • setExpiration

      public void setExpiration(long exprTime)
    • getSerialFormat

      public int getSerialFormat()
      Description copied from interface: Lease
      Returns the format that will be used to serialize the lease.
      Specified by:
      getSerialFormat in interface Lease
      Returns:
      an int representing the serial format value
      See Also:
    • setSerialFormat

      public void setSerialFormat(int format)
      Description copied from interface: Lease
      Sets the format to use when serializing the lease.
      Specified by:
      setSerialFormat in interface Lease
      Parameters:
      format - DURATION or ABSOLUTE
      See Also:
    • cancel

      public void cancel() throws UnknownLeaseException, RemoteException
      Description copied from interface: Lease
      Used by the lease holder to indicate that it is no longer interested in the resource or information held by the lease. If the leased information or resource could cause a callback to the lease holder (or some other object on behalf of the lease holder), the lease grantor should not issue such a callback after the lease has been cancelled. The overall effect of a cancel call is the same as lease expiration, but instead of happening at the end of a pre-agreed duration it happens immediately.
      Specified by:
      cancel in interface Lease
      Throws:
      UnknownLeaseException - the lease being cancelled is unknown to the lease grantor
      RemoteException
    • renew

      public void renew(long duration) throws LeaseDeniedException, UnknownLeaseException, RemoteException
      Description copied from interface: Lease
      Used to renew a lease for an additional period of time, specified in milliseconds. This duration is not added to the original lease, but is used to determine a new expiration time for the existing lease. If the renewal is granted this is reflected in value returned by getExpiration. If the renewal fails, the lease is left intact for the same duration that was in force prior to the call to renew.
      Specified by:
      renew in interface Lease
      Parameters:
      duration - the requested duration in milliseconds
      Throws:
      LeaseDeniedException - the lease grantor is unable or unwilling to renew the lease
      UnknownLeaseException - the lease being renewed is unknown to the lease grantor
      RemoteException
    • canBatch

      public boolean canBatch(Lease lease)
      Description copied from interface: Lease
      Returns a boolean indicating whether or not the lease given as a parameter can be batched (placed in the same LeaseMap) with the current lease. Whether or not two Lease objects can be batched is an implementation detail determined by the objects.
      Specified by:
      canBatch in interface Lease
      Parameters:
      lease - the Lease to be evaluated
      Returns:
      a boolean indicating whether or not the lease given as a parameter can be batched (placed in the same LeaseMap) with the current lease
    • createLeaseMap

      public LeaseMap createLeaseMap(long duration)
      Description copied from interface: Lease
      Creates a Map object that can contain leases whose renewal or cancellation can be batched, and adds the current lease to that map. The current lease is put in the map with the duration value given by the parameter.
      Specified by:
      createLeaseMap in interface Lease
      Parameters:
      duration - the duration to put into a Long and use as the value for the current lease in the created LeaseMap
      Returns:
      the created LeaseMap object
    • getUID

      public String getUID()
      Description copied from interface: LeaseContext
      Returns UID of written Entry.
      Specified by:
      getUID in interface LeaseContext
      Returns:
      UID of written Entry.
    • setUID

      public void setUID(String uid)
    • getVersion

      public int getVersion()
      Description copied from interface: LeaseContext
      Returns the version of written \ updated entry.
      Specified by:
      getVersion in interface LeaseContext
      Returns:
      version of written \ updated entry.
    • getObject

      public Object getObject()
      Description copied from interface: LeaseContext
      returns the previous value associated with this update-or-write operation.
      • null, on a successful write
    • previous value, on successful update (Only if WriteModifiers.RETURN_PREV_ON_UPDATE is used, otherwise null)
    • Specified by:
      getObject in interface LeaseContext
      Returns:
      the associated object.
    • setObject

      public void setObject(Object obj)
    • getObjectType

      public int getObjectType()
    • getClassname

      public String getClassname()
      Returns a class name of lease resource( Entry/Notify Template ). Only if and only if the space is persistent.
      Returns:
      Returns class name of lease resource( Entry/Notify Template ).
    • getSpace

      public IRemoteSpace getSpace()
    • setRemoteSpace

      public void setRemoteSpace(IRemoteSpace remoteSpace)
    • writeExternal

      public void writeExternal(ObjectOutput out) throws IOException
      Specified by:
      writeExternal in interface Externalizable
      Throws:
      IOException
    • readExternal

      public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
      Specified by:
      readExternal in interface Externalizable
      Throws:
      IOException
      ClassNotFoundException