Class CacheDirectiveInfo.Expiration

java.lang.Object
org.apache.hadoop.hdfs.protocol.CacheDirectiveInfo.Expiration
Enclosing class:
CacheDirectiveInfo

public static class CacheDirectiveInfo.Expiration extends Object
Denotes a relative or absolute expiration time for a CacheDirective. Use factory methods newAbsolute(Date) and newRelative(long) to create an Expiration.

In either case, the server-side clock is used to determine when a CacheDirective expires.

  • Field Details

    • MAX_RELATIVE_EXPIRY_MS

      public static final long MAX_RELATIVE_EXPIRY_MS
      The maximum value we accept for a relative expiry.
      See Also:
    • NEVER

      public static final CacheDirectiveInfo.Expiration NEVER
      An relative Expiration that never expires.
  • Method Details

    • newRelative

      public static CacheDirectiveInfo.Expiration newRelative(long ms)
      Create a new relative Expiration.

      Use NEVER to indicate an Expiration that never expires.

      Parameters:
      ms - how long until the CacheDirective expires, in milliseconds
      Returns:
      A relative Expiration
    • newAbsolute

      public static CacheDirectiveInfo.Expiration newAbsolute(Date date)
      Create a new absolute Expiration.

      Use NEVER to indicate an Expiration that never expires.

      Parameters:
      date - when the CacheDirective expires
      Returns:
      An absolute Expiration
    • newAbsolute

      public static CacheDirectiveInfo.Expiration newAbsolute(long ms)
      Create a new absolute Expiration.

      Use NEVER to indicate an Expiration that never expires.

      Parameters:
      ms - when the CacheDirective expires, in milliseconds since the Unix epoch.
      Returns:
      An absolute Expiration
    • isRelative

      public boolean isRelative()
      Returns:
      true if Expiration was specified as a relative duration, false if specified as an absolute time.
    • getMillis

      public long getMillis()
      Returns:
      The raw underlying millisecond value, either a relative duration or an absolute time as milliseconds since the Unix epoch.
    • getAbsoluteDate

      public Date getAbsoluteDate()
      Returns:
      Expiration time as a Date object. This converts a relative Expiration into an absolute Date based on the local clock.
    • getAbsoluteMillis

      public long getAbsoluteMillis()
      Returns:
      Expiration time in milliseconds from the Unix epoch. This converts a relative Expiration into an absolute time based on the local clock.
    • toString

      public String toString()
      Overrides:
      toString in class Object