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

net.nemerosa.ontrack.model.settings.PredefinedPromotionLevelService Maven / Gradle / Ivy

There is a newer version: 4.4.5
Show newest version
package net.nemerosa.ontrack.model.settings;

import net.nemerosa.ontrack.common.Document;
import net.nemerosa.ontrack.model.Ack;
import net.nemerosa.ontrack.model.structure.ID;
import net.nemerosa.ontrack.model.structure.PredefinedPromotionLevel;
import net.nemerosa.ontrack.model.structure.Reordering;

import java.util.List;
import java.util.Optional;

/**
 * Management of predefined promotion levels.
 */
public interface PredefinedPromotionLevelService {

    /**
     * Gets the list of predefined promotion levels.
     */
    List getPredefinedPromotionLevels();

    /**
     * Creates a new predefined promotion level.
     */
    PredefinedPromotionLevel newPredefinedPromotionLevel(PredefinedPromotionLevel stamp);

    /**
     * Gets a predefined promotion level using its ID
     */
    PredefinedPromotionLevel getPredefinedPromotionLevel(ID id);

    /**
     * Gets the image for a predefined promotion level
     */
    Document getPredefinedPromotionLevelImage(ID id);

    /**
     * Gets a predefined promotion level using its name
     */
    Optional findPredefinedPromotionLevelByName(String name);

    /**
     * Updates the predefined promotion level
     */
    void savePredefinedPromotionLevel(PredefinedPromotionLevel stamp);

    /**
     * Deletes a predefined promotion level
     */
    Ack deletePredefinedPromotionLevel(ID predefinedPromotionLevelId);

    /**
     * Sets the image for a predefined promotion level
     */
    void setPredefinedPromotionLevelImage(ID predefinedPromotionLevelId, Document document);

    /**
     * Reorder the predefined validation stamps
     */
    void reorderPromotionLevels(Reordering reordering);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy