Class ExpirationAttributes

java.lang.Object
org.apache.geode.cache.ExpirationAttributes
All Implemented Interfaces:
Serializable, DataSerializable

public class ExpirationAttributes extends Object implements DataSerializable
Immutable parameter object for accessing and setting the attributes associated with timeToLive and idleTimeout. If the expiration action is not specified, it defaults to ExpirationAction.INVALIDATE. If the timeout is not specified, it defaults to zero (which means to never timeout).
Since:
GemFire 3.0
See Also:
  • Field Details

    • DEFAULT

      @Immutable public static final ExpirationAttributes DEFAULT
      convenience constant for a default instance
  • Constructor Details

    • ExpirationAttributes

      public ExpirationAttributes()
      Constructs a default ExpirationAttributes, which indicates no expiration will take place.
    • ExpirationAttributes

      public ExpirationAttributes(int expirationTime)
      Constructs an ExpirationAttributes with the specified expiration time and the default expiration action ExpirationAction.INVALIDATE.
      Parameters:
      expirationTime - The number of seconds before expiration
      Throws:
      IllegalArgumentException - if expirationTime is nonpositive
    • ExpirationAttributes

      public ExpirationAttributes(int expirationTime, ExpirationAction expirationAction)
      Constructs an ExpirationAttributes with the specified expiration time and expiration action.
      Parameters:
      expirationTime - The number of seconds for a value to live before it expires. If this parameter is negative, the expiration time will be set to 0, indicating no expiration.
      expirationAction - the action to take when the value expires
  • Method Details

    • getTimeout

      public int getTimeout()
      Returns the number of seconds before a region or value expires.
      Returns:
      the relative number of seconds before a region or value expires or zero if it will never expire
    • getAction

      public ExpirationAction getAction()
      Returns the action that should take place when this value or region expires.
      Returns:
      the action to take when expiring
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Returns a string representation of this ExpirationAttributes. If the timeout is zero, returns "NO EXPIRATION".
      Overrides:
      toString in class Object
      Returns:
      the String representation of this expiration attribute
    • createFromData

      public static ExpirationAttributes createFromData(DataInput in) throws IOException, ClassNotFoundException
      Throws:
      IOException
      ClassNotFoundException
    • fromData

      public void fromData(DataInput in) throws IOException, ClassNotFoundException
      Description copied from interface: DataSerializable
      Reads the state of this object as primitive data from the given DataInput.
      Specified by:
      fromData in interface DataSerializable
      Parameters:
      in - the DataInput to read from
      Throws:
      IOException - A problem occurs while reading from in
      ClassNotFoundException - A class could not be loaded while reading from in
    • toData

      public void toData(DataOutput out) throws IOException
      Description copied from interface: DataSerializable
      Writes the state of this object as primitive data to the given DataOutput.

      Since 5.7 it is possible for any method call to the specified DataOutput to throw GemFireRethrowable. It should not be caught by user code. If it is it must be rethrown.

      Specified by:
      toData in interface DataSerializable
      Parameters:
      out - the DataOutput to write to
      Throws:
      IOException - A problem occurs while writing to out
    • isDefault

      public boolean isDefault()