Interface ServiceableComponent<T>

Type Parameters:
T - The underlying type of the component.
All Superinterfaces:
AutoCloseable
All Known Implementing Classes:
AbstractServiceableComponent, ApplicationContextServiceableComponent, ReloadingAccessControlService, ServiceableAccessControlService, SpringServiceableComponent

public interface ServiceableComponent<T> extends AutoCloseable
Any component that wants to be reloaded via the Service interface and Spring implements this interface. The idea is that the attribute resolver will be public class AttributeResolver extends AbstractServiceableComponent<AttributeResolver> implements AttributeResolver, ServiceableComponent<ServiceableComponent>. AbstractServiceableComponent will do all the work around reload and synchronization.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Note that this is explicitly declared to not throw an IOException
    Extract the component that does the actual work.
  • Method Details

    • getComponent

      @Nonnull T getComponent()
      Extract the component that does the actual work. Callers MUST have the ServiceableComponent pinned at this stage.
      Returns:
      the component.
    • close

      void close()
      Note that this is explicitly declared to not throw an IOException
      Specified by:
      close in interface AutoCloseable