Interface PluginExtensionRegistryImpl.ExtensionRegistryListener

Enclosing class:
PluginExtensionRegistryImpl

public static interface PluginExtensionRegistryImpl.ExtensionRegistryListener
Push counterpart to PluginExtensionRegistryImpl.extensions(Class): a host component that wants to maintain externally-visible derived state (e.g. an MCP tool server's advertised tool list) subscribes via PluginExtensionRegistryImpl.addListener(java.lang.Class<? extends com.xebialabs.xlrelease.osgi.api.spring.HostExtensionPoint>, com.xebialabs.xlrelease.osgi.spring.PluginExtensionRegistryImpl.ExtensionRegistryListener) instead of re-polling.

Contract: both callbacks run outside the registry's monitor, so implementations may safely call back into PluginExtensionRegistryImpl.extensions(Class) or even trigger further register/unregister calls without deadlocking. A throwing implementation is caught and logged by the registry - one misbehaving listener never blocks another listener or the registration/removal itself.

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    extensionAdded(com.xebialabs.xlrelease.osgi.api.spring.HostExtensionPoint extension)
     
    void
    extensionRemoved(com.xebialabs.xlrelease.osgi.api.spring.HostExtensionPoint extension)
     
  • Method Details

    • extensionAdded

      void extensionAdded(com.xebialabs.xlrelease.osgi.api.spring.HostExtensionPoint extension)
    • extensionRemoved

      void extensionRemoved(com.xebialabs.xlrelease.osgi.api.spring.HostExtensionPoint extension)