Class RefreshingReaper

  • All Implemented Interfaces:
    Reaper

    public abstract class RefreshingReaper
    extends AbstractReaper
    Calls a refresh method on each object in the container; it reinserts any returned object to the front of the expiration system. Useful for any object that needs to be periodically refreshed from source; you are free to return the same object that was called or to replace it with a refreshed version of that object.

    Note that you must supply the implementation of the refresh method.

    Since:
    1.0
    Version:
    $Revision: 8102 $ $Date: 2006-04-25 16:09:10 -0600 (Tue, 25 Apr 2006) $
    Author:
    Gregory Block
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void handleExpiredContainer​(Container expiredContainer)
      Methode called with a container that has expired before the container is garbage collected.
      protected abstract java.lang.Object refresh​(java.lang.Object objectToBeRefreshed)
      Function called to attempt to refresh the object.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RefreshingReaper

        public RefreshingReaper()
    • Method Detail

      • handleExpiredContainer

        public final void handleExpiredContainer​(Container expiredContainer)
        Methode called with a container that has expired before the container is garbage collected.
        Parameters:
        expiredContainer - The container that has expired.
      • refresh

        protected abstract java.lang.Object refresh​(java.lang.Object objectToBeRefreshed)
        Function called to attempt to refresh the object. If refresh was successful, return the refreshed object; if not, return null.
        Parameters:
        objectToBeRefreshed - The object to be refreshed.
        Returns:
        The refreshed object, or null if the object could not be refreshed.