Class ComponentRepositoryResource

  • All Implemented Interfaces:
    com.zfabrik.components.IDependencyComponent

    public class ComponentRepositoryResource
    extends com.zfabrik.resources.provider.Resource
    implements com.zfabrik.components.IDependencyComponent
    • 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.
      void prepare()
      Prepare for use.
      • 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

      • ComponentRepositoryResource

        public ComponentRepositoryResource​(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
      • prepare

        public void prepare()
        Description copied from interface: com.zfabrik.components.IDependencyComponent
        Prepare for use.
        Specified by:
        prepare in interface com.zfabrik.components.IDependencyComponent