Class SCMSourceDescriptor

java.lang.Object
hudson.model.Descriptor<SCMSource>
jenkins.scm.api.SCMSourceDescriptor
All Implemented Interfaces:
Saveable, Loadable, OnMaster, IconSpec
Direct Known Subclasses:
SingleSCMSource.DescriptorImpl

public abstract class SCMSourceDescriptor extends Descriptor<SCMSource> implements IconSpec
  • Field Details

  • Constructor Details

    • SCMSourceDescriptor

      public SCMSourceDescriptor()
  • Method Details

    • getId

      @NonNull public String getId(@CheckForNull SCMSource source)
      Return or generate the ID for a source instance.
      Parameters:
      source - the source or null if a new source.
      Returns:
      the ID of the supplied source or a newly generated ID to use for a new source instance.
    • isApplicable

      public boolean isApplicable(Class<? extends SCMSourceOwner> owner)
      Returns true if this source type is applicable to the given owner.
      Parameters:
      owner - the type of owner.
      Returns:
      true to allow user to select and configure this source.
    • isUserInstantiable

      @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) public boolean isUserInstantiable()
      Returns true if the source type is one that the user is permitted to configure. Where a source is used to wrap or decorate another source it may make sense to return false.
      Returns:
      true if the source type is one that the user is permitted to configure via the UI.
    • getTraitsDefaults

      @NonNull public List<SCMSourceTrait> getTraitsDefaults()
      Returns the default traits for this SCMSource.
      Returns:
      An empty list if not overridden.
    • forOwner

      @NonNull public static List<SCMSourceDescriptor> forOwner(@CheckForNull SCMSourceOwner owner)
      Returns the list of descriptors that are appropriate for a specified owner and isUserInstantiable().
      Parameters:
      owner - the owner.
      Returns:
      the list of descriptors
    • forOwner

      @NonNull public static List<SCMSourceDescriptor> forOwner(@CheckForNull SCMSourceOwner owner, boolean onlyUserInstantiable)
      Returns the list of descriptors that are appropriate for a specified owner with the additional filter by isUserInstantiable().
      Parameters:
      owner - the owner.
      onlyUserInstantiable - true if only those descriptors that are isUserInstantiable().
      Returns:
      the list of descriptors
    • forOwner

      @NonNull public static List<SCMSourceDescriptor> forOwner(Class<? extends SCMSourceOwner> clazz)
      Returns the list of descriptors that are appropriate for a specified type of owner and isUserInstantiable().
      Parameters:
      clazz - the type of owner.
      Returns:
      the list of descriptors
    • forOwner

      @NonNull public static List<SCMSourceDescriptor> forOwner(Class<? extends SCMSourceOwner> clazz, boolean onlyUserInstantiable)
      Returns the list of descriptors that are appropriate for a specified type of owner with the additional filter by isUserInstantiable().
      Parameters:
      clazz - the type of owner.
      onlyUserInstantiable - true if only those descriptors that are isUserInstantiable().
      Returns:
      the list of descriptors
    • getIconClassName

      public String getIconClassName()
      Used to categorize this kind of SCMSource
      Specified by:
      getIconClassName in interface IconSpec
      Returns:
      The Icon class specification e.g. 'icon-notepad'.
    • getPronoun

      @CheckForNull public String getPronoun()
      Get the term used in the UI to represent this kind of SCMSource. Must start with a capital letter.
      Returns:
      the term or null to fall back to the calling context's default.
      Since:
      2.0
    • getCategories

      @NonNull public final Set<SCMHeadCategory> getCategories()
      Returns the set of SCMHeadCategory that this SCMSource supports. There will always be exactly one SCMCategory.isUncategorized() instance in the returned set.
      Returns:
      the set of SCMHeadCategory that this SCMSource supports.
      Since:
      2.0
    • createCategories

      @NonNull protected SCMHeadCategory[] createCategories()
      Creates the singleton SCMHeadCategory instances that this type of SCMSource is capable of producing.
      Returns:
      the singleton SCMHeadCategory instances for this type of SCMSource
      Since:
      2.0
      See Also: