au.com.centrumsystems.hudson.plugin.buildpipeline
Class ProjectGridBuilder

java.lang.Object
  extended by hudson.model.AbstractDescribableImpl<ProjectGridBuilder>
      extended by au.com.centrumsystems.hudson.plugin.buildpipeline.ProjectGridBuilder
All Implemented Interfaces:
hudson.model.Describable<ProjectGridBuilder>
Direct Known Subclasses:
DownstreamProjectGridBuilder

public abstract class ProjectGridBuilder
extends hudson.model.AbstractDescribableImpl<ProjectGridBuilder>

Encapsulates the definition of how to layout projects into a ProjectGrid.

Author:
Kohsuke Kawaguchi

Constructor Summary
ProjectGridBuilder()
           
 
Method Summary
abstract  ProjectGrid build(BuildPipelineView owner)
          Builds the grid.
abstract  org.kohsuke.stapler.HttpResponse doBuild(org.kohsuke.stapler.StaplerRequest req, BuildPipelineView owner)
          Called to start a new pipeline instance (normally by triggering some job.)
 ProjectGridBuilderDescriptor getDescriptor()
          
abstract  boolean hasBuildPermission(BuildPipelineView owner)
          If the grid produced by this builder supports the notion of "starting a new pipeline instance", and if the current user has a permission to do so, then return true.
 void onJobRenamed(BuildPipelineView owner, hudson.model.Item item, String oldName, String newName)
          Called by BuildPipelineView when one of its members are renamed.
abstract  boolean startsWithParameters(BuildPipelineView owner)
          If the first job of the grid produced by this builder has parameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProjectGridBuilder

public ProjectGridBuilder()
Method Detail

build

public abstract ProjectGrid build(BuildPipelineView owner)
Builds the grid.

Parameters:
owner - The view for which this builder is working. Never null. If the ProjectGridBuilder takes user-supplied job name, this parameter should be used as a context to resolve relative names. See Jenkins.getItem(String, hudson.model.ItemGroup) (where you obtain ItemGroup by View.getOwnerItemGroup().
Returns:
Never null, although the obtained ProjectGrid can be empty.

onJobRenamed

public void onJobRenamed(BuildPipelineView owner,
                         hudson.model.Item item,
                         String oldName,
                         String newName)
                  throws IOException
Called by BuildPipelineView when one of its members are renamed.

Parameters:
owner - View that this builder is operating under.
oldName - Old short name of the job
newName - New short name of the job
item - Job being renamed.
Throws:
IOException

hasBuildPermission

public abstract boolean hasBuildPermission(BuildPipelineView owner)
If the grid produced by this builder supports the notion of "starting a new pipeline instance", and if the current user has a permission to do so, then return true.

Parameters:
owner - View that this builder is operating under.
Returns:
True if the user has a permission.

startsWithParameters

public abstract boolean startsWithParameters(BuildPipelineView owner)
If the first job of the grid produced by this builder has parameters

Parameters:
owner - View that this builder is operating under.
Returns:
True if the first job has parameters.

doBuild

public abstract org.kohsuke.stapler.HttpResponse doBuild(org.kohsuke.stapler.StaplerRequest req,
                                                         @AncestorInPath
                                                         BuildPipelineView owner)
                                                  throws IOException
Called to start a new pipeline instance (normally by triggering some job.)

Parameters:
req - Current HTTP request
owner - View that this builder is operating under.
Returns:
The HTTP response.
Throws:
IOException

getDescriptor

public ProjectGridBuilderDescriptor getDescriptor()

Specified by:
getDescriptor in interface hudson.model.Describable<ProjectGridBuilder>
Overrides:
getDescriptor in class hudson.model.AbstractDescribableImpl<ProjectGridBuilder>


Copyright © 2004-2014. All Rights Reserved.