org.apache.tapestry5.ioc.internal

## Class AbstractReloadableObjectCreator

- java.lang.Object
- - org.apache.tapestry5.ioc.internal.AbstractReloadableObjectCreator

- All Implemented Interfaces:
    ClassLoaderDelegate, ObjectCreator, UpdateListener
  Direct Known Subclasses:
    ReloadableObjectCreator, ReloadableServiceImplementationObjectCreator

      public abstract class AbstractReloadableObjectCreator
      extends Object
      implements ObjectCreator, UpdateListener, ClassLoaderDelegate

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AbstractReloadableObjectCreator(PlasticProxyFactory proxyFactory, ClassLoader baseClassLoader, String implementationClassName, org.slf4j.Logger logger, OperationTracker tracker)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `checkForUpdates()` Invoked to force the receiver to check for updates to whatever underlying resources it makes use of.
    `protected abstract Object` | `createInstance(Class clazz)` Invoked when an instance of the class is needed.
    `Object` | `createObject()` Create and return the object.
    `Class<?>` | `doClassLoad(String className)`
    `Class<?>` | `loadAndTransformClass(String className)` Load the class, transforming it as necessary.
    `boolean` | `shouldInterceptClassLoading(String className)` Identifies which classes are to be loaded.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AbstractReloadableObjectCreator

          protected AbstractReloadableObjectCreator(PlasticProxyFactory proxyFactory,
                                                    ClassLoader baseClassLoader,
                                                    String implementationClassName,
                                                    org.slf4j.Logger logger,
                                                    OperationTracker tracker)

  - ### Method Detail

    - #### checkForUpdates

          public void checkForUpdates()

      Description copied from interface: `UpdateListener`
      Invoked to force the receiver to check for updates to whatever underlying resources it makes use of.
      Specified by:
        `checkForUpdates` in interface `UpdateListener`

    - #### createObject

          public Object createObject()

      Description copied from interface: `ObjectCreator`
      Create and return the object. In some limited circumstances, the implementation may cache the result, returning the same object for repeated calls.
      Specified by:
        `createObject` in interface `ObjectCreator`

    - #### createInstance

          protected abstract Object createInstance(Class clazz)

      Invoked when an instance of the class is needed. It is the responsibility of this method (as implemented in a subclass) to instantiate the class and inject dependencies into the class.
      See Also:
        `InternalUtils.findAutobuildConstructor(Class)`

    - #### shouldInterceptClassLoading

          public boolean shouldInterceptClassLoading(String className)

      Description copied from interface: `ClassLoaderDelegate`
      Identifies which classes are to be loaded.
      Specified by:
        `shouldInterceptClassLoading` in interface `ClassLoaderDelegate`
      Parameters:
        `className` - fully qualified class name
      Returns:
        true if the class should be intercepted, false to let parent class loader load class

    - #### loadAndTransformClass

          public Class<?> loadAndTransformClass(String className)
                                         throws ClassNotFoundException

      Description copied from interface: `ClassLoaderDelegate`
      Load the class, transforming it as necessary.
      Specified by:
        `loadAndTransformClass` in interface `ClassLoaderDelegate`
      Parameters:
        `className` - binary class name
      Returns:
        loaded and (if not an inner class) transformed class
      Throws:
        `ClassNotFoundException`

    - #### doClassLoad

          public Class<?> doClassLoad(String className)
                               throws IOException

      Throws:
        `IOException`

5.6.1 - Copyright © 2003-2020 The Apache Software Foundation.