All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.nemerosa.ontrack.model.links.BranchLinksService.kt Maven / Gradle / Ivy

package net.nemerosa.ontrack.model.links

import net.nemerosa.ontrack.model.structure.Branch
import net.nemerosa.ontrack.model.structure.Build

/**
 * Service to compute links between branches.
 */
interface BranchLinksService {

    /**
     * Given a starting [branch] and a [direction], computes the abstract graph of links starting
     * from this branch.
     *
     * @param branch Branch to start from
     * @param direction Direction to follow for the build links
     * @return Node for this branch (never `null` but might have no edges)
     */
    fun getBranchLinks(branch: Branch, direction: BranchLinksDirection): BranchLinksNode

    /**
     * Given a starting [build] and a [direction], computes the graph of links starting
     * from this build.
     *
     * The [abstract graph][getBranchLinks] is computed first and is used as a _skeleton_ for the
     * build graph.
     *
     * @param build Build to start from
     * @param direction Direction to follow for the build links
     * @return Node for this build
     */
    fun getBuildLinks(build: Build, direction: BranchLinksDirection): BranchLinksNode

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy