本文整理了Java中jenkins.model.Jenkins.getDescriptor()
方法的一些代码示例,展示了Jenkins.getDescriptor()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Jenkins.getDescriptor()
方法的具体详情如下:
包路径:jenkins.model.Jenkins
类名称:Jenkins
方法名:getDescriptor
[英]Gets the Descriptor that corresponds to the given Describable type.
If you have an instance of type and call Describable#getDescriptor(), you'll get the same instance that this method returns.
[中]获取与给定可描述类型对应的描述符。
如果您有一个类型为的实例,并调用Describable#getDescriptor(),那么您将得到此方法返回的相同实例。
代码示例来源:origin: jenkinsci/jenkins
/**
* Alias for {@link #getDescriptor(String)}.
*/
public Descriptor getDescriptorByName(String id) {
return getDescriptor(id);
}
代码示例来源:origin: jenkinsci/jenkins
/**
* Works just like {@link #getDescriptor(Class)} but don't take no for an answer.
*
* @throws AssertionError
* If the descriptor is missing.
* @since 1.326
*/
@Nonnull
public Descriptor getDescriptorOrDie(Class<? extends Describable> type) {
Descriptor d = getDescriptor(type);
if (d==null)
throw new AssertionError(type+" is missing its descriptor");
return d;
}
代码示例来源:origin: jenkinsci/jenkins
/**
* Creates a new job.
*
* <p>
* This version infers the descriptor from the type of the top-level item.
*
* @throws IllegalArgumentException
* if the project of the given name already exists.
*/
public synchronized <T extends TopLevelItem> T createProject( Class<T> type, String name ) throws IOException {
return type.cast(createProject((TopLevelItemDescriptor)getDescriptor(type),name));
}
代码示例来源:origin: jenkinsci/jenkins
public ProjectNamingStrategyDescriptor getDescriptor() {
return (ProjectNamingStrategyDescriptor) Jenkins.getInstance().getDescriptor(getClass());
}
代码示例来源:origin: jenkinsci/jenkins
public Object getDynamic(String token) {
return Jenkins.getInstance().getDescriptor(token);
}
}
代码示例来源:origin: jenkinsci/jenkins
public Descriptor<ProxyConfiguration> getProxyDescriptor() {
return Jenkins.getInstance().getDescriptor(ProxyConfiguration.class);
}
代码示例来源:origin: jenkinsci/jenkins
@Override
public Descriptor<RemotingWorkDirSettings> getDescriptor() {
return Jenkins.get().getDescriptor(RemotingWorkDirSettings.class);
}
代码示例来源:origin: jenkinsci/jenkins
public Descriptor getItemTypeDescriptorOrDie() {
Class it = getItemType();
if (it == null) {
throw new AssertionError(clazz + " is not an array/collection type in " + displayName + ". See https://jenkins.io/redirect/developer/class-is-missing-descriptor");
}
Descriptor d = Jenkins.getInstance().getDescriptor(it);
if (d==null)
throw new AssertionError(it +" is missing its descriptor in "+displayName+". See https://jenkins.io/redirect/developer/class-is-missing-descriptor");
return d;
}
代码示例来源:origin: jenkinsci/jenkins
/**
* Returns {@link Descriptor} whose 'clazz' is the same as {@link #getItemType() the item type}.
*/
public Descriptor getItemTypeDescriptor() {
return Jenkins.getInstance().getDescriptor(getItemType());
}
代码示例来源:origin: jenkinsci/jenkins
private String resolve() {
// the resolution has to be deferred to avoid ordering issue among descriptor registrations.
return Jenkins.getInstance().getDescriptor(owner).getHelpFile(fieldNameToRedirectTo);
}
}
代码示例来源:origin: jenkinsci/jenkins
/**
* Filters a descriptor for {@link BuildStep}s by using {@link BuildStepDescriptor#isApplicable(Class)}.
*/
public static <T extends BuildStep&Describable<T>>
List<Descriptor<T>> filter(List<Descriptor<T>> base, Class<? extends AbstractProject> type) {
// descriptor of the project
Descriptor pd = Jenkins.getInstance().getDescriptor((Class) type);
List<Descriptor<T>> r = new ArrayList<Descriptor<T>>(base.size());
for (Descriptor<T> d : base) {
if (pd instanceof AbstractProjectDescriptor && !((AbstractProjectDescriptor)pd).isApplicable(d))
continue;
if (d instanceof BuildStepDescriptor) {
BuildStepDescriptor<T> bd = (BuildStepDescriptor<T>) d;
if(!bd.isApplicable(type)) continue;
r.add(bd);
} else {
// old plugins built before 1.150 may not implement BuildStepDescriptor
r.add(d);
}
}
return r;
}
}
代码示例来源:origin: jenkinsci/jenkins
@Override
public Object onConvert(Type targetType, Class targetTypeErasure, Object jsonSource) {
if (jsonSource instanceof JSONObject) {
JSONObject json = (JSONObject) jsonSource;
if (isApplicable(targetTypeErasure, json)) {
LOGGER.log(Level.FINE, "switching to newInstance {0} {1}", new Object[] {targetTypeErasure.getName(), json});
try {
return Jenkins.getActiveInstance().getDescriptor(targetTypeErasure).newInstance(Stapler.getCurrentRequest(), json);
} catch (Exception x) {
LOGGER.log(Level.WARNING, "falling back to default instantiation " + targetTypeErasure.getName() + " " + json, x);
}
}
} else {
LOGGER.log(Level.FINER, "ignoring non-object {0}", jsonSource);
}
return oldInterceptor.onConvert(targetType, targetTypeErasure, jsonSource);
}
代码示例来源:origin: jenkinsci/jenkins
@Override
public Object instantiate(Class actualType, JSONObject json) {
if (isApplicable(actualType, json)) {
LOGGER.log(Level.FINE, "switching to newInstance {0} {1}", new Object[] {actualType.getName(), json});
try {
final Descriptor descriptor = Jenkins.getActiveInstance().getDescriptor(actualType);
if (descriptor != null) {
return descriptor.newInstance(Stapler.getCurrentRequest(), json);
} else {
LOGGER.log(Level.WARNING, "Descriptor not found. Falling back to default instantiation "
+ actualType.getName() + " " + json);
}
} catch (Exception x) {
LOGGER.log(Level.WARNING, "falling back to default instantiation " + actualType.getName() + " " + json, x);
// If nested objects are not using newInstance, bindJSON will wind up throwing the same exception anyway,
// so logging above will result in a duplicated stack trace.
// However if they *are* then this is the only way to find errors in that newInstance.
// Normally oldInterceptor.instantiate will just return DEFAULT, not actually do anything,
// so we cannot try calling the default instantiation and then decide which problem to report.
}
}
return oldInterceptor.instantiate(actualType, json);
}
代码示例来源:origin: jenkinsci/jenkins
/**
* List up all {@link BuildWrapperDescriptor}s that are applicable for the given project.
*
* @return
* The signature doesn't use {@link BuildWrapperDescriptor} to maintain compatibility
* with {@link BuildWrapper} implementations before 1.150.
*/
public static List<Descriptor<BuildWrapper>> getFor(AbstractProject<?, ?> project) {
List<Descriptor<BuildWrapper>> result = new ArrayList<>();
Descriptor pd = Jenkins.getInstance().getDescriptor((Class)project.getClass());
for (Descriptor<BuildWrapper> w : BuildWrapper.all()) {
if (pd instanceof AbstractProjectDescriptor && !((AbstractProjectDescriptor)pd).isApplicable(w))
continue;
if (w instanceof BuildWrapperDescriptor) {
BuildWrapperDescriptor bwd = (BuildWrapperDescriptor) w;
if(bwd.isApplicable(project))
result.add(bwd);
} else {
// old BuildWrapper that doesn't implement BuildWrapperDescriptor
result.add(w);
}
}
return result;
}
}
代码示例来源:origin: jenkinsci/gitlab-plugin
public GitLabClient getClient() {
if (StringUtils.isNotEmpty(gitLabConnection)) {
GitLabConnectionConfig connectionConfig = (GitLabConnectionConfig) Jenkins.getInstance().getDescriptor(GitLabConnectionConfig.class);
return connectionConfig != null ? connectionConfig.getClient(gitLabConnection) : null;
}
return null;
}
代码示例来源:origin: jenkinsci/jenkins
/**
* Determines which kinds of SCMs are applicable to a given project.
* @param project a project on which we might be configuring SCM, or null if unknown
* @return all descriptors which {@link SCMDescriptor#isApplicable(Job)} to it, also filtered by {@link TopLevelItemDescriptor#isApplicable};
* or simply {@link #all} if there is no project
* @since 1.568
*/
public static List<SCMDescriptor<?>> _for(@CheckForNull final Job project) {
if(project==null) return all();
final Descriptor pd = Jenkins.getInstance().getDescriptor((Class) project.getClass());
List<SCMDescriptor<?>> r = new ArrayList<SCMDescriptor<?>>();
for (SCMDescriptor<?> scmDescriptor : all()) {
if(!scmDescriptor.isApplicable(project)) continue;
if (pd instanceof TopLevelItemDescriptor) {
TopLevelItemDescriptor apd = (TopLevelItemDescriptor) pd;
if(!apd.isApplicable(scmDescriptor)) continue;
}
r.add(scmDescriptor);
}
return r;
}
代码示例来源:origin: jenkinsci/configuration-as-code-plugin
private Descriptor getDescriptor() {
return Jenkins.getInstance().getDescriptor(getTarget());
}
代码示例来源:origin: jenkinsci/configuration-as-code-plugin
static List<RootElementConfigurator> all() {
List<RootElementConfigurator> configurators = new ArrayList<>();
final Jenkins jenkins = Jenkins.getInstance();
configurators.addAll(jenkins.getExtensionList(RootElementConfigurator.class));
for (GlobalConfigurationCategory category : GlobalConfigurationCategory.all()) {
configurators.add(new GlobalConfigurationCategoryConfigurator(category));
}
for (ManagementLink link : ManagementLink.all()) {
final String name = link.getUrlName();
final Descriptor descriptor = Jenkins.getInstance().getDescriptor(name);
if (descriptor != null)
configurators.add(new DescriptorConfigurator(descriptor));
}
return configurators;
}
代码示例来源:origin: jenkinsci/gitlab-plugin
private void checkPermission(Permission permission) {
if (((GitLabConnectionConfig) Jenkins.getInstance().getDescriptor(GitLabConnectionConfig.class)).isUseAuthenticatedEndpoint()) {
if (!Jenkins.getActiveInstance().getACL().hasPermission(authentication, permission)) {
String message = Messages.AccessDeniedException2_MissingPermission(authentication.getName(), permission.group.title+"/"+permission.name);
LOGGER.finest("Unauthorized (Did you forget to add API Token to the web hook ?)");
throw HttpResponses.errorWithoutStack(403, message);
}
}
}
代码示例来源:origin: jenkinsci/gitlab-plugin
public ListBoxModel doFillGitLabConnectionItems() {
ListBoxModel options = new ListBoxModel();
GitLabConnectionConfig descriptor = (GitLabConnectionConfig) Jenkins.getInstance().getDescriptor(GitLabConnectionConfig.class);
for (GitLabConnection connection : descriptor.getConnections()) {
options.add(connection.getName(), connection.getName());
}
return options;
}
}
内容来源于网络,如有侵权,请联系作者删除!