Class ProviderResolution


  • public class ProviderResolution
    extends com.zfabrik.resources.provider.Resource
    resolution cache pattern
    Author:
    hb
    • Constructor Summary

      Constructors 
      Constructor Description
      ProviderResolution​(java.lang.String name)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <T> T as​(java.lang.Class<T> clz)
      Retrieve a typed representation of the resource.
      void invalidate()
      This method gets called whenever a dependency resource has been invalidated or this resource needs to be invalidated.
      • Methods inherited from class com.zfabrik.resources.provider.Resource

        as, handle, init, init
      • Methods inherited from class java.lang.Object

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

      • ProviderResolution

        public ProviderResolution​(java.lang.String name)
    • Method Detail

      • as

        public <T> T as​(java.lang.Class<T> clz)
        Description copied from class: com.zfabrik.resources.provider.Resource
        Retrieve a typed representation of the resource.

        Overrides:
        as in class com.zfabrik.resources.provider.Resource
        Parameters:
        clz - expected return type
        Returns:
        the expected return type instance represented by the resource or null if the type facade is not supported.
      • invalidate

        public void invalidate()
                        throws com.zfabrik.resources.ResourceBusyException
        Description copied from class: com.zfabrik.resources.provider.Resource
        This method gets called whenever a dependency resource has been invalidated or this resource needs to be invalidated.

        This code should be executed in a life cycle code block of this resource instance, i.e. where dependencies are effectively managed, so that race conditions can be avoided.

        State changing methods of a resource should always be synchronized (e.g. on this). This is in particular true for cross-resource dependencies. In order to assure consistency under race conditions, a dependent resource should first declare its dependency and then retrieve the resource implementation. In case of failures, resources should clean up by calling handle().invalidate(true);

        Overrides:
        invalidate in class com.zfabrik.resources.provider.Resource
        Throws:
        com.zfabrik.resources.ResourceBusyException