Interface ChainBranchManager

    • Method Detail

      • getBranchesForChain

        @NotNull
        @NotNull List<ChainBranch> getBranchesForChain​(@NotNull
                                                       @NotNull ImmutableChain chain)
        Get all feature branches associated with the given chain
        Parameters:
        chain - - the master
        Returns:
        List ChainBranchs associated with the given chain.
      • getBranchesForChain

        @NotNull
        @NotNull List<PlanKey> getBranchesForChain​(@NotNull
                                                   @NotNull PlanKey chainKey)
        Get all feature branches associated with the chain identified by the given key
        Parameters:
        chainKey - - the chain key
        Returns:
        List ChainBranchs associated with the chain identified by the given key.
        Since:
        9.5
      • getBranchIdentifiersForChain

        @NotNull
        @NotNull List<ChainBranchIdentifier> getBranchIdentifiersForChain​(@NotNull
                                                                          @NotNull PlanIdentifier chain)
        Get all feature branches associated with the given chain, however on pulls up minimal details about each branch.
        Parameters:
        chain - - the master
        Returns:
        List ChainBranchIdentifier for branches associated with the given Chain.
      • hasBranches

        boolean hasBranches​(@NotNull
                            @NotNull Plan plan)
        Returns whether or not the given plan has any branches
        Parameters:
        plan - to check for branches for
        Returns:
        true if branches exist of the plan
      • getBranchCount

        int getBranchCount​(@NotNull
                           @NotNull ImmutablePlan plan)
        Returns the number of branches the given plan has
        Parameters:
        plan - to check for branches for
        Returns:
        number of branches for the plan
      • getPlansWithBranches

        @NotNull
        @NotNull Set<Long> getPlansWithBranches()
        Returns a list of plans that currently have branches
        Returns:
        a list of plan ids of the plans with branches.
      • isPlanBranchNameConflicting

        boolean isPlanBranchNameConflicting​(ImmutableChain masterPlan,
                                            long chainBranchIdToIgnore,
                                            String branchName)
        Verifies whether a ChainBranch name is unique with a given master Chain

        Parameters:
        masterPlan - the master chain within which the name has to be unique
        chainBranchIdToIgnore - the id of the ChainBranch that has to be ignored during lookup (when you're saving a ChainBranch, you should supply its id here)
        branchName - displayed name of the ChainBranch inside the master's plan
        Returns:
        true if the name is in conflict
        Since:
        4.0
      • handleVcsBranchDeletedOfPlanBranch

        void handleVcsBranchDeletedOfPlanBranch​(ImmutableChain chainBranch)
        Handles deletion of a VCS branch from plan branch's default repository. If the passed in chain is a plan branch it will be disabled and it's default VCS branch will be marked as deleted.
        Parameters:
        chainBranch - the plan branch of which a default VCS branch was deleted
      • handleVcsBranchDeletedOfPlanBranch

        void handleVcsBranchDeletedOfPlanBranch​(@NotNull
                                                @NotNull ImmutableChain chainBranch,
                                                @NotNull
                                                @NotNull PlanRepositoryDefinition planRepositoryDefinition)
        Handles deletion of a VCS branch from any of the plan branch's repositories. If the passed in chain is a plan branch it will be disabled. If the deleted branch is the default branch it will mark that VCS branch as deleted.
        Parameters:
        chainBranch - the plan branch of which a VCS branch was deleted
        planRepositoryDefinition - plan repository whose branch was deleted
      • getNextBranchKeyNumber

        long getNextBranchKeyNumber​(ImmutablePlan chain)
        Retrieving suggested number for next branch key in given chain. If it's first branch it will return 0.
        Parameters:
        chain -
        Returns:
      • updateNextBranchKeyNumber

        void updateNextBranchKeyNumber​(ImmutablePlan chain,
                                       long number)
        Set suggested number for next branch key in given chain
        Parameters:
        chain -
        number -
      • updatePlanBranchMetadata

        void updatePlanBranchMetadata​(@NotNull
                                      @NotNull PlanKey branchKey)
        Update plan branch metadata to reflect the current state of chain.
        Since:
        8.2
      • markMetadataInvalid

        void markMetadataInvalid​(@NotNull
                                 @NotNull PlanKey branchKey)
        Marks the chain as 'invalid', which means metadata no longer match vcs data.
        Since:
        8.2
      • clearInvalidMetadataFlagInBranches

        @Internal
        void clearInvalidMetadataFlagInBranches​(long masterId)
        Clears 'invalid' flag in all branches of a chain.
        Since:
        8.2