Package com.atlassian.bamboo.plan
Class AbstractPlan
java.lang.Object
com.atlassian.core.bean.EntityObject
com.atlassian.bamboo.core.BambooEntityObject
com.atlassian.bamboo.core.BambooEntityWithOid
com.atlassian.bamboo.hibernate.HibernateBambooEntityWithOid
com.atlassian.bamboo.plan.AbstractPlan
- All Implemented Interfaces:
BambooIdProvider,BambooObject,BambooObjectWithOid,EntityWithOid,ImmutableEntityWithOid,Deletable,Describable,ImmutableDeletable,ImmutablePlan,Plan,PlanIdentifier,PlanKeyProvider,DescriptionProvider,NameProvider,Versionable,Cloneable,Comparable<Plan>
- Direct Known Subclasses:
AbstractChain,DefaultJob
@MappedSuperclass
public abstract class AbstractPlan
extends HibernateBambooEntityWithOid
implements ImmutablePlan, Plan, Comparable<Plan>
This plan is only partially migrated to annotation-based Hibernate model, to allow creating queries using the new
query mechanism. "Plan.hbm.xml" is still the source of truth for this entity.
-
Field Summary
FieldsFields inherited from interface com.atlassian.bamboo.plan.cache.ImmutablePlan
MAX_PREVIOUS_BUILD_FOR_AVE, STATUS_CURRENTLY_BUILDING, STATUS_FAIL, STATUS_NO_BUILDS, STATUS_NOT_RUN, STATUS_SUCCESSFields inherited from interface com.atlassian.bamboo.plan.PlanIdentifier
NAME_DELIMITERFields inherited from interface com.atlassian.bamboo.plan.PlanKeyProvider
getPlanKey -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintboolean@NotNull BuildDefinitionReturns theBuildDefinitionthat backs thisPlan@Nullable BuildDefinitionForBuild@NotNull StringThis objects specific portion of the key.@NotNull BuildLoggerReturns the helper object to deal with logging@NotNull String@NotNull List<VariableDefinition>Return effective list ofVariableDefinitions bind to this Plan.intWhat the number of the first build we have? It may not be 1 as some may have been removed!@NotNull StringgetKey()Obtain the plan's unique key (uppercase alphanumeric).Used only for Hibernate mapping purposes.intWhat was the number of the latest build (may be being built)@Nullable ResultsSummaryGet the latest finished resultlong@NotNull StringgetName()Returns the full name for the build in the form of "project name - build name" e.g.@NotNull PlanKey@NotNull ProjectReturns the parentProjectReturns labellings that are applicable for the plan level@NotNull StringgetType()Returns the string representation of the type.@NotNull List<VariableDefinition>Return list ofVariableDefinitions bind to this Plan@NotNull LongReturns the version number of this object.inthashCode()booleanbooleanisBusy()Is thePlan"busy".booleanIs the plan set to be deleted in the futurebooleanChecks if the build has been enabled / disabled.voidsetBuildDefinitionManager(BuildDefinitionManager buildDefinitionManager) voidsetBuildDefinitionXml(@Nullable BuildDefinitionForBuild buildDefinitionXml) voidsetBuildKey(String buildKey) Define the build's unique key (uppercase alphanumeric)voidsetBuildLoggerManager(BuildLoggerManager buildLoggerManager) voidsetBuildName(String buildName) voidsetDescription(@Nullable String description) voidsetDiscriminator(String discriminator) voidsetInternalResultsSummaryAccessor(InternalResultsSummaryAccessor internalResultsSummaryAccessor) voidvoidsetLabellings(List<Labelling> labellings) voidsetLabelManager(LabelManager labelManager) voidsetMarkedForDeletion(boolean markedForDeletion) voidvoidsetPlanExecutionManager(PlanExecutionManager planExecutionManager) voidsetPlanKey(@NotNull PlanKey planKey) voidsetProject(Project project) voidsetSuspendedFromBuilding(boolean suspendedFromBuilding) Sets the build to suspend temporarilyvoidsetVariableDefinitionManager(VariableDefinitionManager variableDefinitionManager) voidsetVersion(@NotNull Long version) Methods inherited from class com.atlassian.bamboo.hibernate.HibernateBambooEntityWithOid
getId, getOid, setId, setOidMethods inherited from class com.atlassian.core.bean.EntityObject
clone, getCreationDate, getCurrentDate, getLastModificationDate, setClock, setCreationDate, setLastModificationDateMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.atlassian.bamboo.core.BambooObject
setIdMethods inherited from interface com.atlassian.bamboo.core.EntityWithOid
setOidMethods inherited from interface com.atlassian.bamboo.core.ImmutableEntityWithOid
getEntityType, getOidMethods inherited from interface com.atlassian.bamboo.plan.cache.ImmutablePlan
getAverageBuildDuration, getCurrentStatus, getMaster, isActive, isExecutingMethods inherited from interface com.atlassian.bamboo.plan.PlanIdentifier
getId, getPlanType
-
Field Details
-
internalResultsSummaryAccessor
-
-
Constructor Details
-
AbstractPlan
public AbstractPlan()
-
-
Method Details
-
getDatabaseId
- Specified by:
getDatabaseIdin interfacePlanIdentifier- Returns:
- database id of the plan or empty if this plan is not a DB object.
-
getPlanKey
Description copied from interface:PlanIdentifier- Specified by:
getPlanKeyin interfacePlanIdentifier- Specified by:
getPlanKeyin interfacePlanKeyProvider- Returns:
- planKey
-
getKey
Description copied from interface:ImmutablePlanObtain the plan's unique key (uppercase alphanumeric). This includes the project prefix e.g. BAM-MAIN. PreferPlanIdentifier.getPlanKey()- Specified by:
getKeyin interfaceImmutablePlan- Returns:
- The full key
-
setKey
-
setPlanKey
- Specified by:
setPlanKeyin interfacePlan
-
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
-
setBuildKey
Description copied from interface:PlanDefine the build's unique key (uppercase alphanumeric)- Specified by:
setBuildKeyin interfacePlan- Parameters:
buildKey- The value of the key
-
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
-
setName
- Specified by:
setNamein interfaceDescribable
-
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()
-
setBuildName
- Specified by:
setBuildNamein interfacePlan
-
getDescription
- Specified by:
getDescriptionin interfaceDescriptionProvider
-
setDescription
- Specified by:
setDescriptionin interfaceDescribable
-
getType
Description copied from interface:ImmutablePlanReturns the string representation of the type. SeePlanTypeand used in Freemarker.- Specified by:
getTypein interfaceImmutablePlan- Returns:
- the string representation of the type
-
hasMaster
public boolean hasMaster()- Specified by:
hasMasterin interfaceImmutablePlan- Returns:
- true if plan has a master plan
-
isMarkedForDeletion
public boolean isMarkedForDeletion()Description copied from interface:ImmutablePlanIs the plan set to be deleted in the future- Specified by:
isMarkedForDeletionin interfaceImmutableDeletable- Specified by:
isMarkedForDeletionin interfaceImmutablePlan- Returns:
- Whether or not the Object has been marked for deletion
-
setMarkedForDeletion
public void setMarkedForDeletion(boolean markedForDeletion) - Specified by:
setMarkedForDeletionin interfaceDeletable
-
setSuspendedFromBuilding
public void setSuspendedFromBuilding(boolean suspendedFromBuilding) Description copied from interface:PlanSets the build to suspend temporarily- Specified by:
setSuspendedFromBuildingin interfacePlan
-
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
-
isBusy
public boolean isBusy()Description copied from interface:ImmutablePlanIs thePlan"busy". Busy is defined by the plan having a lock held on it. This is done during change detection, dependency listner and the like- Specified by:
isBusyin interfaceImmutablePlan- Returns:
- busy
-
getBuildLogger
Description copied from interface:ImmutablePlanReturns the helper object to deal with logging- Specified by:
getBuildLoggerin interfaceImmutablePlan- Returns:
- A
BuildLogger.
-
getLastBuildNumber
public int getLastBuildNumber()Description copied from interface:ImmutablePlanWhat was the number of the latest build (may be being built)- Specified by:
getLastBuildNumberin interfaceImmutablePlan- Returns:
- the build number, zero if the build has not been built
-
getFirstBuildNumber
public int getFirstBuildNumber()Description copied from interface:ImmutablePlanWhat the number of the first build we have? It may not be 1 as some may have been removed!- Specified by:
getFirstBuildNumberin interfaceImmutablePlan- Returns:
- The number of the first build
-
getLatestResultsSummary
Description copied from interface:ImmutablePlanGet the latest finished result- Specified by:
getLatestResultsSummaryin interfaceImmutablePlan- Specified by:
getLatestResultsSummaryin interfacePlan- Returns:
- The summary info for the last completed build. Returns null if there are no build results for this plan
-
getVariables
Description copied from interface:ImmutablePlanReturn list ofVariableDefinitions bind to this Plan- Specified by:
getVariablesin interfaceImmutablePlan- Returns:
- non-null list of
VariableDefinition
-
getEffectiveVariables
Description copied from interface:ImmutablePlanReturn effective list ofVariableDefinitions bind to this Plan. For master Plans this will return the same result asImmutablePlan.getVariables(). Non-master plans will produce the sum of: - all master's variables which keys do not appear in result ofImmutablePlan.getVariables()- result ofImmutablePlan.getVariables()- Specified by:
getEffectiveVariablesin interfaceImmutablePlan- Returns:
- non-null list of
VariableDefinition
-
setProject
- Specified by:
setProjectin interfacePlan
-
getBuildDefinition
Description copied from interface:ImmutablePlanReturns theBuildDefinitionthat backs thisPlan- Specified by:
getBuildDefinitionin interfaceImmutablePlan- Returns:
BuildDefinitionobject.
-
getProject
Description copied from interface:ImmutablePlanReturns the parentProject- Specified by:
getProjectin interfaceImmutablePlan- Specified by:
getProjectin interfacePlanIdentifier- Returns:
Project. Never null
-
getMasterId
public long getMasterId()- Specified by:
getMasterIdin interfacePlanIdentifier- Returns:
- database id of master of this Plan or -1 if none.
-
getMasterIdIfExists
- Specified by:
getMasterIdIfExistsin interfacePlanIdentifier- Returns:
- database id of master of this Plan or empty if none.
-
getBuildDefinitionXml
- Specified by:
getBuildDefinitionXmlin interfacePlan
-
setBuildDefinitionXml
- Specified by:
setBuildDefinitionXmlin interfacePlan
-
getLabellings
Description copied from interface:PlanUsed only for Hibernate mapping purposes. Deprecated for removal from the interface- Specified by:
getLabellingsin interfacePlan- Returns:
-
getRelatedLabellings
Description copied from interface:PlanReturns labellings that are applicable for the plan level- Specified by:
getRelatedLabellingsin interfacePlan- Returns:
- Empty list if no labels
-
getLabelNames
- Specified by:
getLabelNamesin interfaceImmutablePlan- Returns:
- all the names of related labels with a namespace of :label
-
setLabellings
- Specified by:
setLabellingsin interfacePlan
-
setPlanExecutionManager
-
setBuildDefinitionManager
-
setBuildLoggerManager
-
setInternalResultsSummaryAccessor
public void setInternalResultsSummaryAccessor(InternalResultsSummaryAccessor internalResultsSummaryAccessor) -
setVariableDefinitionManager
-
setLabelManager
-
getDiscriminator
-
setDiscriminator
-
getVersion
Description copied from interface:VersionableReturns the version number of this object.- Specified by:
getVersionin interfaceVersionable- Returns:
- the version number
-
setVersion
-
hashCode
public int hashCode()- Overrides:
hashCodein classcom.atlassian.core.bean.EntityObject
-
equals
- Overrides:
equalsin classcom.atlassian.core.bean.EntityObject
-
compareTo
- Specified by:
compareToin interfaceComparable<Plan>
-