Package mondrian.util

Class ExpiringReference<T>

java.lang.Object
java.lang.ref.Reference<T>
java.lang.ref.SoftReference<T>
mondrian.util.ExpiringReference<T>

public class ExpiringReference<T> extends SoftReference<T>
An expiring reference is a subclass of SoftReference which pins the reference in memory until a certain timeout is reached. After that, the reference is free to be garbage collected if needed.

The timeout value must be provided as a String representing both the time value and the time unit. For example, 1 second is represented as "1s". Valid time units are [d, h, m, s, ms], representing respectively days, hours, minutes, seconds and milliseconds.

  • Constructor Details

    • ExpiringReference

      public ExpiringReference(T ref, String timeout)
      Creates an expiring reference.
      Parameters:
      ref - The referent.
      timeout - The timeout to enforce, in minutes. If timeout is equal or less than 0, this means a hard reference.
  • Method Details