hudson.model
Class View.AsynchPeople

java.lang.Object
  extended by jenkins.util.ProgressiveRendering
      extended by hudson.model.View.AsynchPeople
Enclosing class:
View

public static final class View.AsynchPeople
extends ProgressiveRendering

Variant of View.AsynchPeople.People which can be displayed progressively, since it may be slow.

Since:
1.484

Nested Class Summary
 class View.AsynchPeople.People
          JENKINS-16397 workaround
 
Field Summary
 ModelObject parent
           
 
Constructor Summary
View.AsynchPeople(Jenkins parent)
           
View.AsynchPeople(View parent)
           
 
Method Summary
protected  void compute()
          Actually do the work.
protected  net.sf.json.JSON data()
          Provide current data to the web page for display.
 Api getApi()
           
 
Methods inherited from class jenkins.util.ProgressiveRendering
canceled, executorService, news, progress, start, timeout
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parent

public final ModelObject parent
Constructor Detail

View.AsynchPeople

public View.AsynchPeople(Jenkins parent)
See Also:
Jenkins#getAsynchPeople}

View.AsynchPeople

public View.AsynchPeople(View parent)
See Also:
View.getAsynchPeople()
Method Detail

compute

protected void compute()
                throws Exception
Description copied from class: ProgressiveRendering
Actually do the work.

The security context will be that in effect when the web request was made.

Specified by:
compute in class ProgressiveRendering
Throws:
Exception - whenever you like; the progress bar will indicate that an error occurred but details go to the log only

data

protected net.sf.json.JSON data()
Description copied from class: ProgressiveRendering
Provide 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 {} or []), 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 this.

Specified by:
data in class ProgressiveRendering
Returns:
any JSON data you like

getApi

public Api getApi()


Copyright © 2004-2013. All Rights Reserved.