Package com.atlassian.bamboo.ww2.beans
Class DecoratedPlan
- java.lang.Object
-
- com.atlassian.bamboo.ww2.beans.DecoratedPlan
-
- All Implemented Interfaces:
BambooIdProvider,PlanIdentifier,PlanKeyProvider,DescriptionProvider,NameProvider,DecoratedNavObject
- Direct Known Subclasses:
DecoratedPlan.DecoratedBranch
@Immutable public abstract class DecoratedPlan extends Object implements DecoratedNavObject, PlanIdentifier
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDecoratedPlan.DecoratedBranchBranches are top level branch plans.static classDecoratedPlan.DecoratedPlanBranchGist
-
Field Summary
-
Fields inherited from interface com.atlassian.bamboo.plan.PlanIdentifier
NAME_DELIMITER
-
Fields inherited from interface com.atlassian.bamboo.plan.PlanKeyProvider
getPlanKey
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description com.google.common.collect.ImmutableList<DecoratedPlan.DecoratedPlanBranchGist>getBranches()abstract @Nullable StringgetBranchName()@Nullable StringgetBranchPlanKey()Return the the branch plan key.@NotNull StringgetBuildKey()This objects specific portion of the key.@NotNull StringgetBuildName()@NotNull Optional<Long>getDatabaseId()StringgetDescription()@NotNull StringgetDisplayName()longgetId()Returns database id of the plan.@NotNull StringgetKey()com.google.common.collect.ImmutableList<String>getLabelNames()@Nullable StringgetLinkedJiraIssue()abstract @Nullable DecoratedPlangetMaster()The master plan iff the plan is a branched plan and it has a master.@NotNull StringgetMasterChainKey()Return the main chain key for this plan.longgetMasterId()@NotNull Optional<Long>getMasterIdIfExists()@Nullable StringgetMasterJobKey()Return the job key of this plan.@NotNull StringgetName()Returns the full name for the build in the form of "project name - build name" e.g.@NotNull com.google.common.collect.ImmutableList<? extends DecoratedNavGroupObject>getNavGroups()abstract @Nullable DecoratedPlangetParent()abstract @Nullable PlanBranchWorkflowgetPlanBranchWorkflow()@NotNull PlanKeygetPlanKey()@NotNull PlanTypegetPlanType()@NotNull ProjectIdentifiergetProject()Returns the parentProjectabstract List<DeploymentProject>getRelatedDeploymentProjects()com.google.common.collect.ImmutableList<DecoratedStage>getStages()abstract @Nullable DecoratedStagegetStageWithName(@NotNull String stageName)Retrieve the named stage.@Nullable DecoratedNavObjectStatusgetStatus()@NotNull StringgetType()booleanisRemoteJiraLinkRequired()booleanisResult()booleanisSuspendedFromBuilding()Checks if the build has been enabled / disabled.@Nullable StringreplaceKey(String url, DecoratedNavObject originalObject)Given an existing url (may be directly from the originalObject or may be with a static ${planKey} reference) generate the new url for this objectvoidsetLabels(com.google.common.collect.ImmutableList<String> labels)
-
-
-
Method Detail
-
getKey
@NotNull public @NotNull String getKey()
- Specified by:
getKeyin interfaceDecoratedNavObject- Returns:
- full key of the object
-
getBuildKey
@NotNull public @NotNull String getBuildKey()
Description copied from interface:PlanIdentifierThis objects specific portion of the key. You probably want to usePlanIdentifier.getPlanKey().- Specified by:
getBuildKeyin interfacePlanIdentifier- Returns:
- This objects specific portion of the key
-
getDisplayName
@NotNull public @NotNull String getDisplayName()
- Specified by:
getDisplayNamein interfaceDecoratedNavObject- Returns:
- display name of this object
-
getNavGroups
@NotNull public @NotNull com.google.common.collect.ImmutableList<? extends DecoratedNavGroupObject> getNavGroups()
- Specified by:
getNavGroupsin interfaceDecoratedNavObject- Returns:
- any children groups of this object
-
getParent
@Nullable public abstract @Nullable DecoratedPlan getParent()
- Specified by:
getParentin interfaceDecoratedNavObject- Returns:
- the parent of this object (does not take into account groups)
-
getPlanType
@NotNull public @NotNull PlanType getPlanType()
- Specified by:
getPlanTypein interfaceDecoratedNavObject- Specified by:
getPlanTypein interfacePlanIdentifier- Returns:
- plantype associated with this object.
-
getStatus
@Nullable public @Nullable DecoratedNavObjectStatus getStatus()
- Specified by:
getStatusin interfaceDecoratedNavObject- Returns:
- provide the status of this object if applicable
-
replaceKey
@Nullable public @Nullable String replaceKey(String url, DecoratedNavObject originalObject)
Description copied from interface:DecoratedNavObjectGiven an existing url (may be directly from the originalObject or may be with a static ${planKey} reference) generate the new url for this object- Specified by:
replaceKeyin interfaceDecoratedNavObject- Parameters:
url- - to manipulateoriginalObject- - the object the original url may have belonged to- Returns:
- the new url referencing this object
-
getMaster
@Nullable public abstract @Nullable DecoratedPlan getMaster()
Description copied from interface:DecoratedNavObjectThe master plan iff the plan is a branched plan and it has a master.- Specified by:
getMasterin interfaceDecoratedNavObject- Returns:
-
getId
public long getId()
Description copied from interface:PlanIdentifierReturns database id of the plan. Use ofPlanIdentifier.getDatabaseId()should be preferred.- Specified by:
getIdin interfaceBambooIdProvider- Specified by:
getIdin interfacePlanIdentifier
-
getDatabaseId
@NotNull public @NotNull Optional<Long> getDatabaseId()
- Specified by:
getDatabaseIdin interfacePlanIdentifier- Returns:
- database id of the plan or empty if this plan is not a DB object.
-
getPlanKey
@NotNull public @NotNull PlanKey getPlanKey()
Description copied from interface:PlanIdentifier- Specified by:
getPlanKeyin interfacePlanIdentifier- Specified by:
getPlanKeyin interfacePlanKeyProvider- Returns:
- planKey
-
getName
@NotNull public @NotNull String getName()
Description copied from interface:PlanIdentifierReturns the full name for the build in the form of "project name - build name" e.g. "Confluence - HEAD"- Specified by:
getNamein interfaceDescriptionProvider- Specified by:
getNamein interfaceNameProvider- Specified by:
getNamein interfacePlanIdentifier- Returns:
- String
-
getProject
@NotNull public @NotNull ProjectIdentifier getProject()
Description copied from interface:PlanIdentifierReturns the parentProject- Specified by:
getProjectin interfacePlanIdentifier- Returns:
Project. Never null
-
getBuildName
@NotNull public @NotNull String getBuildName()
- Specified by:
getBuildNamein interfacePlanIdentifier- Returns:
- The plan specific portion of the name (without the project and/or parent's names). You probably want to use
PlanIdentifier.getName()
-
getDescription
public String getDescription()
- Specified by:
getDescriptionin interfaceDescriptionProvider
-
getMasterId
public long getMasterId()
- Specified by:
getMasterIdin interfacePlanIdentifier- Returns:
- database id of master of this Plan or -1 if none.
-
getMasterIdIfExists
@NotNull public @NotNull Optional<Long> getMasterIdIfExists()
- Specified by:
getMasterIdIfExistsin interfacePlanIdentifier- Returns:
- database id of master of this Plan or empty if none.
-
getLabelNames
public com.google.common.collect.ImmutableList<String> getLabelNames()
-
getType
@NotNull public @NotNull String getType()
- Specified by:
getTypein interfaceDecoratedNavObject- Returns:
- plantype associated with this object.
-
isResult
public boolean isResult()
- Specified by:
isResultin interfaceDecoratedNavObject- Returns:
- true if the nav object represents a result otherwise false
-
isSuspendedFromBuilding
public boolean isSuspendedFromBuilding()
Description copied from interface:PlanIdentifierChecks if the build has been enabled / disabled.- Specified by:
isSuspendedFromBuildingin interfacePlanIdentifier- Returns:
- true if plan is disabled
-
getStages
public com.google.common.collect.ImmutableList<DecoratedStage> getStages()
-
getBranches
public com.google.common.collect.ImmutableList<DecoratedPlan.DecoratedPlanBranchGist> getBranches()
-
setLabels
public void setLabels(com.google.common.collect.ImmutableList<String> labels)
-
getBranchName
@Nullable public abstract @Nullable String getBranchName()
-
getPlanBranchWorkflow
@Nullable public abstract @Nullable PlanBranchWorkflow getPlanBranchWorkflow()
-
getLinkedJiraIssue
@Nullable public @Nullable String getLinkedJiraIssue()
-
isRemoteJiraLinkRequired
public boolean isRemoteJiraLinkRequired()
-
getMasterChainKey
@NotNull public @NotNull String getMasterChainKey()
Return the main chain key for this plan. In case of a Chain Key (PROJ-PLAN) this key will be returned. In case of a Job Key (PROJ-PLAN-JOB), this will return a main chain key (PROJ-PLAN). In case of a Branch Key (PROJ-PLAN10), this will return the key of the main chain (PROJ-PLAN).- Returns:
- chainKey
-
getMasterJobKey
@Nullable public @Nullable String getMasterJobKey()
Return the job key of this plan. In case this class represents a chain key or a branch key, this will return null.- Returns:
- the job key or null
-
getBranchPlanKey
@Nullable public @Nullable String getBranchPlanKey()
Return the the branch plan key. If this does not represent a branch plan, we return null.- Returns:
- the branch plan key or null
-
getRelatedDeploymentProjects
public abstract List<DeploymentProject> getRelatedDeploymentProjects()
-
getStageWithName
@Nullable public abstract @Nullable DecoratedStage getStageWithName(@NotNull @NotNull String stageName)
Retrieve the named stage. If the stage is not found it indicates that the stage has been deleted or renamed but the result remains.
-
-