Class SpaceLease

java.lang.Object
com.gigaspaces.internal.lease.SpaceLease
All Implemented Interfaces:
Textualizable, Lease
Direct Known Subclasses:
SpaceEntryLease, SpaceNotifyLease

public abstract class SpaceLease extends Object implements Lease, Textualizable
Since:
9.0.0
Author:
Niv Ingberg
  • Field Details

    • _spaceProxy

      protected final IDirectSpaceProxy _spaceProxy
    • _typeName

      protected final String _typeName
    • _uid

      protected final String _uid
    • _routingValue

      protected final Object _routingValue
    • _expirationTime

      protected long _expirationTime
    • _serialFormat

      protected int _serialFormat
  • Constructor Details

  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toText

      public void toText(Textualizer textualizer)
      Specified by:
      toText in interface Textualizable
    • 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
    • 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 serialFormat)
      Description copied from interface: Lease
      Sets the format to use when serializing the lease.
      Specified by:
      setSerialFormat in interface Lease
      Parameters:
      serialFormat - 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
    • 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
    • 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
    • canBatch

      public boolean canBatch(IDirectSpaceProxy spaceProxy)
    • getTypeName

      public String getTypeName()
    • getUID

      public String getUID()
    • getLeaseObjectType

      protected abstract int getLeaseObjectType()