Interface JRVirtualizer

All Known Implementing Classes:
JRAbstractLRUVirtualizer, JRFileVirtualizer, JRGzipVirtualizer, JRSwapFileVirtualizer, StoreFactoryVirtualizer, StoreVirtualizer

public interface JRVirtualizer
Author:
John Bindel
See Also:
  • Method Details

    • registerObject

      void registerObject(JRVirtualizable o)
      Lets this virtualizer know that it must track the object.

      All virtualizable object must register with their virtualizer upon construction.

    • deregisterObject

      void deregisterObject(JRVirtualizable o)
      Lets this virtualizer know that it no longer must track the object.
    • touch

      void touch(JRVirtualizable o)
      Lets the virtualizer know that this object is still being used. This should be called to help the virtualizer determine which objects to keep in its cache, and which objects to page-out when it must do some paging-out.

      The virtualizer gets to decide what type of caching strategy it will use.

    • requestData

      void requestData(JRVirtualizable o)
      Called when the virtual object must be paged-in.

      If the object's virtual data is not paged-out, the object will only be touched.

    • clearData

      void clearData(JRVirtualizable o)
      Called when the virtual object paged-out data should be freed.

      If the object's virtual data is not paged-out, the object will only be touched.

    • virtualizeData

      void virtualizeData(JRVirtualizable o)
      Called when the virtual object should be paged-out.
    • contextChanged

      void contextChanged(JRVirtualizable<?> o, JRVirtualizationContext oldContext)
    • cleanup

      void cleanup()
      Called when we are done with the virtualizer and wish to cleanup any resources it has.