Class JobPropertyDescriptor
- Direct Known Subclasses:
OptionalJobProperty.OptionalJobPropertyDescriptor
Descriptor
for JobProperty
.- Since:
- 1.72
- Author:
- Kohsuke Kawaguchi
-
Nested Class Summary
Nested classes/interfaces inherited from class hudson.model.Descriptor
Descriptor.FormException, Descriptor.PropertyType, Descriptor.Self
-
Field Summary
Fields inherited from class hudson.model.Descriptor
clazz
-
Constructor Summary
ModifierConstructorDescriptionprotected
Infers the type of the correspondingJobProperty
from the outer class.protected
JobPropertyDescriptor
(Class<? extends JobProperty<?>> clazz) -
Method Summary
Modifier and TypeMethodDescriptionstatic Collection<JobPropertyDescriptor>
all()
static List<JobPropertyDescriptor>
getPropertyDescriptors
(Class<? extends Job> clazz) Gets theJobPropertyDescriptor
s applicable for a given job type.boolean
isApplicable
(Class<? extends Job> jobType) Returns true if thisJobProperty
type is applicable to the given job type.JobProperty<?>
newInstance
(org.kohsuke.stapler.StaplerRequest2 req, net.sf.json.JSONObject formData) Creates a configured instance from the submitted form.JobProperty<?>
newInstance
(org.kohsuke.stapler.StaplerRequest req, net.sf.json.JSONObject formData) Deprecated.Methods inherited from class hudson.model.Descriptor
addHelpFileRedirect, bindJSON, bindJSON, calcAutoCompleteSettings, calcFillSettings, configure, configure, configure, doHelp, doHelp, find, find, findByDescribableClassName, findById, getCategory, getCheckMethod, getCheckUrl, getConfigFile, getConfigPage, getCurrentDescriptorByNameUrl, getDescriptorFullUrl, getDescriptorUrl, getDisplayName, getGlobalConfigPage, getGlobalPropertyType, getHelpFile, getHelpFile, getHelpFile, getId, getJsonSafeClassName, getKlass, getPlugin, getPossibleViewNames, getPropertyType, getPropertyType, getPropertyTypeOrDie, getRequiredGlobalConfigPagePermission, getStaticHelpUrl, getStaticHelpUrl, getT, getViewPage, isInstance, isSubTypeOf, load, newInstance, newInstancesFromHeteroList, newInstancesFromHeteroList, newInstancesFromHeteroList, newInstancesFromHeteroList, save, self, toArray, toList, toMap
-
Constructor Details
-
JobPropertyDescriptor
-
JobPropertyDescriptor
protected JobPropertyDescriptor()Infers the type of the correspondingJobProperty
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
-
-
Method Details
-
newInstance
public JobProperty<?> newInstance(org.kohsuke.stapler.StaplerRequest2 req, net.sf.json.JSONObject formData) throws Descriptor.FormException Description copied from class:Descriptor
Creates a configured instance from the submitted form.Hudson only invokes this method when the user wants an instance of
T
. So there's no need to check that in the implementation.The default implementation of this method uses
Descriptor.bindJSON(org.kohsuke.stapler.StaplerRequest2, java.lang.Class<T>, net.sf.json.JSONObject)
which performs the databinding on the constructor ofDescriptor.clazz
.For some types of
Describable
, such asListViewColumn
, this method can be invoked with null request object for historical reason. Such design is considered broken, but due to the compatibility reasons we cannot fix it. Because of this, the default implementation gracefully handles null request, but the contract of the method still is "request is always non-null." Extension points that need to define the "default instance" semantics should define a descriptor subtype and add the no-arg newInstance method.- Overrides:
newInstance
in classDescriptor<JobProperty<?>>
- Parameters:
req
- Always non-null (see note above.) This object includes represents the entire submission.formData
- The JSON object that captures the configuration data for thisDescriptor
. See the developer documentation. Always non-null.- Returns:
- null to avoid setting an instance of
JobProperty
to the target project (or just useOptionalJobProperty
) - Throws:
Descriptor.FormException
- Signals a problem in the submitted form.
-
newInstance
@Deprecated public JobProperty<?> newInstance(org.kohsuke.stapler.StaplerRequest req, net.sf.json.JSONObject formData) throws Descriptor.FormException Deprecated.- Overrides:
newInstance
in classDescriptor<JobProperty<?>>
- Throws:
Descriptor.FormException
-
isApplicable
Returns true if thisJobProperty
type is applicable to the given job type.The default implementation of this method checks if the given job type is assignable to
J
ofJobProperty
<J>
, but subtypes can extend this to change this behavior.- Returns:
- true to indicate applicable, in which case the property will be displayed in the configuration screen of this job.
-
getPropertyDescriptors
Gets theJobPropertyDescriptor
s applicable for a given job type. -
all
-
newInstance(StaplerRequest2, JSONObject)