All Downloads are FREE. Search and download functionalities are using the official Maven repository.

hudson.model.TopLevelItemDescriptor Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 *
 * Copyright (c) 2004-2009 Oracle Corporation.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 * 
*    Kohsuke Kawaguchi
 *
 *
 *******************************************************************************/ 

package hudson.model;

import hudson.ExtensionList;
import org.kohsuke.stapler.StaplerRequest;

/**
 * {@link Descriptor} for {@link TopLevelItem}s.
 *
 * @author Kohsuke Kawaguchi
 */
public abstract class TopLevelItemDescriptor extends Descriptor {

    protected TopLevelItemDescriptor(Class clazz) {
        super(clazz);
    }

    /**
     * Infers the type of the corresponding {@link TopLevelItem} from the outer
     * class. This version works when you follow the common convention, where a
     * descriptor is written as the static nested class of the describable
     * class.
     *
     * @since 1.278
     */
    protected TopLevelItemDescriptor() {
    }

    /**
     * {@link TopLevelItemDescriptor}s often uses other descriptors to decorate
     * itself. This method allows the subtype of {@link TopLevelItemDescriptor}s
     * to filter them out.
     *
     * 

This is useful for a workflow/company specific job type that wants to * eliminate options that the user would see. * * @since 1.294 */ public boolean isApplicable(Descriptor descriptor) { return true; } /** * {@inheritDoc} * *

Used as the caption when the user chooses what job type to create. * The descriptor implementation also needs to have * newJobDetail.jelly script, which will be used to render the text * below the caption that explains the job type. */ public abstract String getDisplayName(); /** * @deprecated since 2007-01-19. This is not a valid operation for * {@link Job}s. */ @Deprecated public TopLevelItem newInstance(StaplerRequest req) throws FormException { throw new UnsupportedOperationException(); } /** * Creates a new {@link TopLevelItem}. * * @deprecated as of 1.390 Use {@link #newInstance(ItemGroup, String)} */ public TopLevelItem newInstance(String name) { return newInstance(Hudson.getInstance(), name); } /** * Creates a new {@link TopLevelItem} for the specified parent. * * @since 1.390 */ public abstract TopLevelItem newInstance(ItemGroup parent, String name); /** * Returns all the registered {@link TopLevelItem} descriptors. */ public static ExtensionList all() { return Items.all(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy