mirror of
https://github.com/jenkinsci/jenkins.git
synced 2026-11-03 15:15:54 +00:00
Added a mechanism to filter extension points as they are discovered.
I couldn't quite find one place to do this, so it's spread apart somewhat.
This commit is contained in:
1 parent
4e7a43c586
commit
9a178aa8cc
9 files changed
+174
-6
No files matched your search
@@ -24,7 +24,9 @@
|
||||
|
||||
package hudson;
|
||||
|
||||
import hudson.model.Describable;
|
||||
import hudson.model.Descriptor;
|
||||
import jenkins.ExtensionFilter;
|
||||
|
||||
/**
|
||||
* Discovered {@link Extension} object with a bit of metadata for Hudson.
|
||||
@@ -32,6 +34,8 @@ import hudson.model.Descriptor;
|
||||
*
|
||||
* @author Kohsuke Kawaguchi
|
||||
* @since 1.356
|
||||
* @see ExtensionFinder
|
||||
* @see ExtensionFilter
|
||||
*/
|
||||
public class ExtensionComponent<T> implements Comparable<ExtensionComponent<T>> {
|
||||
private final T instance;
|
||||
@@ -66,6 +70,15 @@ public class ExtensionComponent<T> implements Comparable<ExtensionComponent<T>>
|
||||
return instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if this component is a {@link Descriptor} describing the given type
|
||||
*
|
||||
* For example, {@code component.isDescriptorOf(Builder.class)}
|
||||
*/
|
||||
public boolean isDescriptorOf(Class<? extends Describable> c) {
|
||||
return instance instanceof Descriptor && ((Descriptor)instance).isSubTypeOf(c);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sort {@link ExtensionComponent}s in the descending order of {@link #ordinal()}.
|
||||
*/
|
||||
|
||||
Reference in new issue
Block a user