|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecthudson.model.Descriptor<JobProperty<?>>
hudson.model.JobPropertyDescriptor
public abstract class JobPropertyDescriptor
Descriptor
for JobProperty
.
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 |
Fields inherited from interface hudson.model.Saveable |
---|
NOOP |
Constructor Summary | |
---|---|
protected |
JobPropertyDescriptor()
Infers the type of the corresponding JobProperty from the outer class. |
protected |
JobPropertyDescriptor(Class<? extends JobProperty<?>> clazz)
|
Method Summary | |
---|---|
static Collection<JobPropertyDescriptor> |
all()
|
static List<JobPropertyDescriptor> |
getPropertyDescriptors(Class<? extends Job> clazz)
Gets the JobPropertyDescriptor s applicable for a given job type. |
boolean |
isApplicable(Class<? extends Job> jobType)
Returns true if this JobProperty type is applicable to the
given job type. |
JobProperty<?> |
newInstance(org.kohsuke.stapler.StaplerRequest req,
net.sf.json.JSONObject formData)
Creates a configured instance from the submitted form. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected JobPropertyDescriptor(Class<? extends JobProperty<?>> clazz)
protected JobPropertyDescriptor()
JobProperty
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.
Method Detail |
---|
public JobProperty<?> newInstance(org.kohsuke.stapler.StaplerRequest req, net.sf.json.JSONObject formData) throws Descriptor.FormException
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 Descriptor<JobProperty<?>>
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.
Descriptor.FormException
- Signals a problem in the submitted form.public boolean isApplicable(Class<? extends Job> jobType)
JobProperty
type is applicable to the
given job type.
The default implementation of this method checks if the given job type is assignable to 'J' of
JobProperty
<J>, but subtypes can extend this to change this behavior.
public static List<JobPropertyDescriptor> getPropertyDescriptors(Class<? extends Job> clazz)
JobPropertyDescriptor
s applicable for a given job type.
public static Collection<JobPropertyDescriptor> all()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |