Package hudson.cli.declarative
Class CLIRegisterer
- java.lang.Object
-
- hudson.ExtensionFinder
-
- hudson.cli.declarative.CLIRegisterer
-
- All Implemented Interfaces:
ExtensionPoint
@Extension public class CLIRegisterer extends ExtensionFinder
DiscoverCLIMethod
s and register them asCLICommand
implementations.- Author:
- Kohsuke Kawaguchi
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class hudson.ExtensionFinder
ExtensionFinder.DefaultGuiceExtensionAnnotation, ExtensionFinder.GuiceExtensionAnnotation<T extends Annotation>, ExtensionFinder.GuiceFinder, ExtensionFinder.Sezpoz
-
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
-
-
Constructor Summary
Constructors Constructor Description CLIRegisterer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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 futureExtensionFinder.find(Class, Hudson)
calls will discover components newly added toPluginManager.uberClassLoader
.-
Methods inherited from class hudson.ExtensionFinder
_find, findExtensions, isRefreshable, scout
-
-
-
-
Method Detail
-
refresh
public ExtensionComponentSet refresh() throws ExtensionRefreshException
Description copied from class:ExtensionFinder
Rebuilds the internal index, if any, so that futureExtensionFinder.find(Class, Hudson)
calls will discover components newly added toPluginManager.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 asDescriptor
s.The behaviour is undefined if
ExtensionFinder.isRefreshable()
is returning false.- Specified by:
refresh
in classExtensionFinder
- Returns:
- never null
- Throws:
ExtensionRefreshException
- See Also:
ExtensionFinder.isRefreshable()
-
find
public <T> Collection<ExtensionComponent<T>> find(Class<T> type, Hudson jenkins)
Description copied from class:ExtensionFinder
Discover extensions of the given type.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 inExtensionComponentSet
.- Specified by:
find
in classExtensionFinder
- Type Parameters:
T
- The type of the extension points. This is not bound toExtensionPoint
because ofDescriptor
, which by itself doesn't implementExtensionPoint
for a historical reason.jenkins
- Jenkins whose behalf this extension finder is performing lookup.- Returns:
- Can be empty but never null.
-
-