Package com.atlassian.bamboo.plan.cache
Interface ImmutablePlanManager
- All Known Implementing Classes:
 ImmutablePlanManagerImpl
@Internal
public interface ImmutablePlanManager
Transactional manager for immutable plans. Only works for 
Chain.
 You shouldn't use this. Really.- Since:
 - v3.4
 
- 
Method Summary
Modifier and TypeMethodDescription@NotNull ImmutableJobcreateImmutableJobBasedOnDto(@NotNull ImmutableChain parent, @NotNull ImmutableChainStage stage, @NotNull EnrichedPlanDto job, boolean isLightWeight) Create immutableImmutableJob.@NotNull ImmutableChainStagecreateImmutableStageBasedOnDto(@NotNull ImmutableChain parent, @NotNull FlatChainStageDto stage, @NotNull Map<Long, List<EnrichedPlanDto>> jobsGroupedByStageId, boolean isLightWeight) Create immutableChainStage.@NotNull ImmutableJobcreateLightweightImmutableJob(@NotNull ImmutableChain parent, @NotNull ImmutableChainStage stage, @NotNull ImmutableJob job) createLightweightImmutableStage(@NotNull ImmutableChain parent, @NotNull ImmutableChainStage stage) Create immutableChainStage.@Nullable ChainResultDetailsgetChainResultDetails(PlanResultKey planResultKey) @Nullable ImmutableResultsSummarygetLatestResultForPlan(@NotNull ImmutableChain immutableChain) @Nullable ImmutableResultsSummarygetLatestResultForPlan(PlanKey planKey) @Nullable ImmutableChaingetPlanByKey(@NotNull PlanKey planKey) getPlanVersions(@NotNull Set<Long> planIds) Gets the plans' versions corresponding to the given ids.@NotNull List<ImmutableChain>loadAllPlans(ForkJoinPool executorService) Get all available plans. 
- 
Method Details
- 
getPlanByKey
 - 
getPlanVersions
Gets the plans' versions corresponding to the given ids.- Parameters:
 planIds- list of plan ids- Returns:
 - map of plan id to plan version
 - Since:
 - 9.4
 
 - 
getLatestResultForPlan
 - 
getLatestResultForPlan
@Nullable @Nullable ImmutableResultsSummary getLatestResultForPlan(@NotNull @NotNull ImmutableChain immutableChain) - Since:
 - 9.3
 
 - 
getChainResultDetails
 - 
createLightweightImmutableJob
@NotNull @NotNull ImmutableJob createLightweightImmutableJob(@NotNull @NotNull ImmutableChain parent, @NotNull @NotNull ImmutableChainStage stage, @NotNull @NotNull ImmutableJob job) - Parameters:
 parent- instance of ImmutablePlanImplstage- instance of ImmutableChainStageImpljob-- Returns:
 
 - 
createLightweightImmutableStage
ImmutableChainStage createLightweightImmutableStage(@NotNull @NotNull ImmutableChain parent, @NotNull @NotNull ImmutableChainStage stage) Create immutableChainStage. Used to create immutable cached object from persisted entity.- Parameters:
 parent-Chainobject (expecting an immutable object here as well)stage-ChainStageobject used as a source of all properties including jobs- Returns:
 
 - 
loadAllPlans
Get all available plans. This method is a very heavy one and the execution may take a long time. - 
createImmutableStageBasedOnDto
@NotNull @NotNull ImmutableChainStage createImmutableStageBasedOnDto(@NotNull @NotNull ImmutableChain parent, @NotNull @NotNull FlatChainStageDto stage, @NotNull @NotNull Map<Long, List<EnrichedPlanDto>> jobsGroupedByStageId, boolean isLightWeight) Create immutableChainStage. Used to create immutable cached object from flat components - dto.- Parameters:
 parent-Chainobject (expecting an immutable object here as well)stage-FlatChainStageDtoflat object used as a source of core attributesjobsGroupedByStageId- Map of flat job objects grouped by stage idisLightWeight- informs whether it is a derived stage from a lightweight branch or not- Returns:
 
 - 
createImmutableJobBasedOnDto
@NotNull @NotNull ImmutableJob createImmutableJobBasedOnDto(@NotNull @NotNull ImmutableChain parent, @NotNull @NotNull ImmutableChainStage stage, @NotNull @NotNull EnrichedPlanDto job, boolean isLightWeight) Create immutableImmutableJob. Used to create immutable cached object from flat components - dto.- Parameters:
 parent-Chainobject (expecting an immutable object here as well)stage-ChainStageobject (expecting an immutable object here as well)job-EnrichedPlanDtoflat object used as a source of core attributesisLightWeight- informs whether it is a derived job from a lightweight branch or not- Returns:
 
 
 -