package org.jvnet.hudson.plugins.shelveproject; import hudson.model.*; import hudson.model.queue.CauseOfBlockage; import java.io.IOException; public class ShelveProjectTask implements Queue.FlyweightTask, Queue.TransientTask { private final AbstractProject project; public ShelveProjectTask( AbstractProject project ) { this.project = project; } public Label getAssignedLabel() { return null; } public Node getLastBuiltOn() { return project.getLastBuiltOn(); } public boolean isBuildBlocked() { return project.isBuildBlocked(); } public String getWhyBlocked() { return project.getWhyBlocked(); } public CauseOfBlockage getCauseOfBlockage() { return project.getCauseOfBlockage(); } public String getName() { return "Shelve " + project.getName(); } public String getFullDisplayName() { return getName(); } public long getEstimatedDuration() { return -1; } public Queue.Executable createExecutable() throws IOException { return new ShelveProjectExecutable( this, project ); } public void checkAbortPermission() { project.checkAbortPermission(); } public boolean hasAbortPermission() { return project.hasAbortPermission(); } public String getUrl() { return project.getUrl(); } public ResourceList getResourceList() { return project.getResourceList(); } public String getDisplayName() { return getName(); } }