Class ServiceProviderDecorator

java.lang.Object
ghidra.framework.plugintool.ServiceProviderDecorator
All Implemented Interfaces:
ServiceProvider

public class ServiceProviderDecorator extends Object implements ServiceProvider
  • Method Details

    • decorate

      public static ServiceProviderDecorator decorate(ServiceProvider delegate)
    • createEmptyDecorator

      public static ServiceProviderDecorator createEmptyDecorator()
    • overrideService

      public <T> void overrideService(Class<T> serviceClass, Object service)
      Adds a service that will override any service contained in the delegate ServiceProvider.

      Note: this will not notify any clients that services have been changed. This means that you should call this method before passing this service provider on to your clients.

      Parameters:
      serviceClass - the service class
      service - the service implementation
    • getService

      public <T> T getService(Class<T> serviceClass)
      Description copied from interface: ServiceProvider
      Returns the Service object that implements the given service interface.
      Specified by:
      getService in interface ServiceProvider
      Parameters:
      serviceClass - the interface class.
    • addServiceListener

      public void addServiceListener(ServiceListener listener)
      Description copied from interface: ServiceProvider
      Adds a listener that will be called as services are added and removed from this ServiceProvider.
      Specified by:
      addServiceListener in interface ServiceProvider
      Parameters:
      listener - The listener to add.
    • removeServiceListener

      public void removeServiceListener(ServiceListener listener)
      Description copied from interface: ServiceProvider
      Removes the given listener from this ServiceProvider. This method does nothing if the given listener is not contained by this ServiceProvider.
      Specified by:
      removeServiceListener in interface ServiceProvider