@Extension public class CLIRegisterer extends ExtensionFinder
CLIMethod
s and register them as CLICommand
implementations.ExtensionFinder.DefaultGuiceExtensionAnnotation, ExtensionFinder.GuiceExtensionAnnotation<T extends Annotation>, ExtensionFinder.GuiceFinder, ExtensionFinder.Sezpoz
ExtensionPoint.LegacyInstancesAreScopedToHudson
Constructor and Description |
---|
CLIRegisterer() |
Modifier and Type | Method and Description |
---|---|
<T> Collection<ExtensionComponent<T>> |
find(Class<T> type,
Hudson jenkins)
Discover extensions of the given type.
|
ExtensionComponentSet |
refresh()
Rebuilds the internal index, if any, so that future
ExtensionFinder.find(Class, Hudson) calls
will discover components newly added to PluginManager.uberClassLoader . |
_find, findExtensions, isRefreshable, scout
public ExtensionComponentSet refresh() throws ExtensionRefreshException
ExtensionFinder
ExtensionFinder.find(Class, Hudson)
calls
will discover components newly added to PluginManager.uberClassLoader
.
The point of the refresh operation is not to disrupt instances of already loaded ExtensionComponent
s,
and only instantiate those that are new. Otherwise this will break the singleton semantics of various
objects, such as Descriptor
s.
The behaviour is undefined if ExtensionFinder.isRefreshable()
is returning false.
refresh
in class ExtensionFinder
ExtensionRefreshException
ExtensionFinder.isRefreshable()
public <T> Collection<ExtensionComponent<T>> find(Class<T> type, Hudson jenkins)
ExtensionFinder
This method is called only once per the given type after all the plugins are loaded, so implementations need not worry about caching.
This method should return all the known components at the time of the call, including
those that are discovered later via ExtensionFinder.refresh()
, even though those components
are separately returned in ExtensionComponentSet
.
find
in class ExtensionFinder
T
- The type of the extension points. This is not bound to ExtensionPoint
because
of Descriptor
, which by itself doesn't implement ExtensionPoint
for
a historical reason.jenkins
- Jenkins whose behalf this extension finder is performing lookup.Copyright © 2004–2022. All rights reserved.