public abstract static class OptionalJobProperty.OptionalJobPropertyDescriptor extends JobPropertyDescriptor
Descriptor.FormException, Descriptor.PropertyType, Descriptor.Self
clazz
Modifier | Constructor and Description |
---|---|
protected |
OptionalJobPropertyDescriptor() |
protected |
OptionalJobPropertyDescriptor(Class<? extends JobProperty<?>> clazz) |
Modifier and Type | Method and Description |
---|---|
JobProperty<?> |
newInstance(org.kohsuke.stapler.StaplerRequest req,
net.sf.json.JSONObject formData)
Creates a configured instance from the submitted form.
|
all, getPropertyDescriptors, isApplicable
addHelpFileRedirect, calcAutoCompleteSettings, calcFillSettings, configure, configure, 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, getT, getViewPage, isInstance, isSubTypeOf, load, newInstance, newInstancesFromHeteroList, newInstancesFromHeteroList, save, self, toArray, toList, toMap
protected OptionalJobPropertyDescriptor(Class<? extends JobProperty<?>> clazz)
protected OptionalJobPropertyDescriptor()
public JobProperty<?> newInstance(org.kohsuke.stapler.StaplerRequest req, net.sf.json.JSONObject formData) throws Descriptor.FormException
Descriptor
Hudson only invokes this method when the user wants an instance of T
.
So there's no need to check that in the implementation.
Starting 1.206, the default implementation of this method does the following:
req.bindJSON(clazz,formData);
... which performs the databinding on the constructor of Descriptor.clazz
.
For some types of Describable
, such as ListViewColumn
, 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.
newInstance
in class JobPropertyDescriptor
req
- Always non-null (see note above.) This object includes represents the entire submission.formData
- The JSON object that captures the configuration data for this Descriptor
.
See http://wiki.jenkins-ci.org/display/JENKINS/Structured+Form+Submission
Always non-null.JobProperty
to the target project (or just use OptionalJobProperty
)Descriptor.FormException
- Signals a problem in the submitted form.Copyright © 2004–2021. All rights reserved.