Constructors Constructor Description
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description
protected abstract void
calculate(Run<?,?> build, net.sf.json.JSONObject element)
compute()Actually do the work.
data()Provide current data to the web page for display.
setBuilds(Iterable<? extends Run<?,?>> builds)Jelly cannot call a constructor with arguments.
Methods inherited from class jenkins.util.ProgressiveRendering
canceled, executorService, news, progress, start, timeout
setBuildsJelly cannot call a constructor with arguments.
protected void compute() throws ExceptionDescription copied from class:
ProgressiveRenderingActually do the work.
The security context will be that in effect when the web request was made.
Stapler.getCurrentRequest()will also be similar to that in effect when the web request was made; at least,
Ancestors and basic request properties (URI, locale, and so on) will be available.
protected net.sf.json.JSON data()Description copied from class:
ProgressiveRenderingProvide current data to the web page for display.
While this could be an aggregate of everything that has been computed so far, more likely you want to supply only that data that is new since the last call (maybe just
), so that the page can incrementally update bits of HTML rather than refreshing everything.
You may want to make your implementation
synchronized, so that it can track what was sent on a previous call, in which case any code running in
ProgressiveRendering.compute()which modifies these fields should also temporarily be synchronized on the same monitor such as
protected abstract void calculate(Run<?,?> build, net.sf.json.JSONObject element)