Package jenkins.branch
Class BranchProjectFactory<P extends Job<P,R> & TopLevelItem,R extends Run<P,R>>
java.lang.Object
hudson.model.AbstractDescribableImpl<BranchProjectFactory<?,?>>
jenkins.branch.BranchProjectFactory<P,R>
- Type Parameters:
P- the type of the branch projects.R- the type of the builds of the branch projects.
- All Implemented Interfaces:
ExtensionPoint,Describable<BranchProjectFactory<?,,?>> Saveable
public abstract class BranchProjectFactory<P extends Job<P,R> & TopLevelItem,R extends Run<P,R>>
extends AbstractDescribableImpl<BranchProjectFactory<?,?>>
implements Saveable, ExtensionPoint
Creates instances of the branch projects for a specific
Branch and also provides some utility methods for
updating the branch specific projects.
Please define a 'getting-started' view for a subclass, if you would like to provide specific information to the user
how to get started using the type of project factory. This view is displayed when there are no subfolders found.- Author:
- Stephen Connolly
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classNested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson -
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCasts theIteminto the project type supported by thisBranchProjectFactory.Decorates the project in with all theJobDecoratorinstances.abstract BranchGets theBranchthat a specific project was configured for.jenkins.scm.api.SCMRevisiongetLastSeenRevision(P project) Gets theSCMRevisionthat the project was last seen for.getOwner()Gets the current owner.Returns the base class of the projects that are produced by this factory.jenkins.scm.api.SCMRevisiongetRevision(P project) Gets theSCMRevisionthat the project was last built for.abstract booleanTest if the specifiedItemis the branch project type supported by thisBranchProjectFactoryabstract PnewInstance(Branch branch) Creates a new branch project.voidsave()Saves theBranchProjectFactoryabstract PvoidsetLastSeenRevisionHash(P project, jenkins.scm.api.SCMRevision revision) Sets theSCMRevisionthat the project was last seenvoidsetOwner(MultiBranchProject<P, R> owner) Sets the owner.voidsetRevisionHash(P project, jenkins.scm.api.SCMRevision revision) Sets theSCMRevisionthat the project was last built for.
-
Constructor Details
-
BranchProjectFactory
public BranchProjectFactory()
-
-
Method Details
-
newInstance
Creates a new branch project.Item.getName()must matchBranch.getEncodedName().- Parameters:
branch- the branch.- Returns:
- the new branch project instance.
-
save
Saves theBranchProjectFactory- Specified by:
savein interfaceSaveable- Throws:
IOException- if issues saving.
-
setOwner
Sets the owner.- Parameters:
owner- the owner.
-
getOwner
Gets the current owner.- Returns:
- the current owner.
-
getBranch
Gets theBranchthat a specific project was configured for.- Parameters:
project- the project; should assumeisProject(hudson.model.Item)has already been tested on it- Returns:
- the
Branchthat the project was configured for.
-
setBranch
- Parameters:
project- the project.branch- the new branch.- Returns:
- the project.
-
isProject
Test if the specifiedItemis the branch project type supported by thisBranchProjectFactory- Parameters:
item- theItem- Returns:
trueif and only if theItemis a project supported by thisBranchProjectFactory.
-
asProject
Casts theIteminto the project type supported by thisBranchProjectFactory.- Parameters:
item- theItem.- Returns:
- the
Itemupcast to the project type supported by thisBranchProjectFactory.
-
getRevision
Gets theSCMRevisionthat the project was last built for.- Parameters:
project- the project.- Returns:
- the
SCMRevisionof the last build.
-
setRevisionHash
Sets theSCMRevisionthat the project was last built for.- Parameters:
project- the project.revision- theSCMRevisionof the last build.- Throws:
IOException- if there was an issue persisting the details.
-
getLastSeenRevision
Gets theSCMRevisionthat the project was last seen for.- Parameters:
project- the project.- Returns:
- the
SCMRevisionof the last seen.
-
setLastSeenRevisionHash
public void setLastSeenRevisionHash(P project, jenkins.scm.api.SCMRevision revision) throws IOException Sets theSCMRevisionthat the project was last seen- Parameters:
project- the project.revision- theSCMRevisionof the last build.- Throws:
IOException- if there was an issue persisting the details.
-
decorate
Decorates the project in with all theJobDecoratorinstances. NOTE: This method should suppress saving the project and only affect the in-memory state. NOTE: Override if the default strategy is not appropriate for the specific project type.- Parameters:
project- the project.- Returns:
- the project for nicer method chaining
-
getDescriptor
- Specified by:
getDescriptorin interfaceDescribable<P extends Job<P,R> & TopLevelItem> - Overrides:
getDescriptorin classAbstractDescribableImpl<BranchProjectFactory<?,?>>
-
getProjectClass
Returns the base class of the projects that are produced by this factory.- Returns:
- the base class of the projects that are produced by this factory.
- Since:
- 2.0
-