package hudson.model;
import hudson.ExtensionList;
import hudson.ExtensionPoint;
import java.util.ArrayList;
import java.util.List;
/**
* Adds box rendered in the computer side panel.
*
* Add box.jelly to display box
*
* @author Lucie Votypkova
* @since 1.434
* @see hudson.model.Computer#getComputerPanelBoxs()
*/
public abstract class ComputerPanelBox implements ExtensionPoint{
private Computer computer;
public void setComputer(Computer computer){
this.computer = computer;
}
public Computer getComputer(){
return computer;
}
/**
* Create boxes for the given computer in its page.
*
* @param computer
* The computer for which displays the boxes. Never null.
* @return
* List of all the registered {@link ComputerPanelBox}s.
*/
public static List<ComputerPanelBox> all(Computer computer) {
List<ComputerPanelBox> boxs = new ArrayList<ComputerPanelBox>();
for(ComputerPanelBox box: ExtensionList.lookup(ComputerPanelBox.class)){
box.setComputer(computer);
boxs.add(box);
}
return boxs;
}
}