/**
 * 
 */
package cz.neubauer.tomas.hazardanalysis.model.stages;

import cz.neubauer.tomas.hazardanalysis.model.dangers.DangerVariant;

/**
 * Třída, která popisuje kombinaci varianty nebezpečí a životní etapy stroje.
 * 
 * @author Tomáš Neubauer
 */
public class VariantStage {

	/**
	 * Přiřazená varianta nebezpečí.
	 */
	private DangerVariant dangerVariant;

	/**
	 * Hodnota klíče záznamu v databázi.
	 */
	private int id;

	/**
	 * Přiřazená životní etapa stroje.
	 */
	private Stage stage;

	/**
	 * Vytvoří kombinaci varianty a etapy.
	 * 
	 * @param dangerVariant
	 *            Přiřazená varianta nebezpečí.
	 * @param id
	 *            Klíč záznamu v databázi.
	 * @param stage
	 *            Přiřazená životní etapa stroje.
	 */
	public VariantStage(DangerVariant dangerVariant, int id, Stage stage) {
		this.id = id;
		this.dangerVariant = dangerVariant;
		this.stage = stage;
	}

	/**
	 * Vrátí přiřazenou variantu nebezpečí.
	 * 
	 * @return Přiřazená varianta nebezpečí.
	 */
	public DangerVariant getDangerVariant() {
		return dangerVariant;
	}

	/**
	 * Nastaví přiřazenou variantu nebezpečí.
	 * 
	 * @param dangerVariant
	 *            Nová přiřazená varianta nebezpečí.
	 */
	public void setDangerVariant(DangerVariant dangerVariant) {
		this.dangerVariant = dangerVariant;
	}

	/**
	 * Vrátí přiřazenou životní etapu stroje.
	 * 
	 * @return Přiřazená životní etapa stroje.
	 */
	public Stage getStage() {
		return stage;
	}

	/**
	 * Nastaví přiřazenou životní etapu stroje.
	 * 
	 * @param stage
	 *            Nová přiřazená životní etapa stroje.
	 */
	public void setStage(Stage stage) {
		this.stage = stage;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return dangerVariant.toString() + " (" + stage.getDescription() + ")";
	}

	/**
	 * Vrátí klíč záznamu v databázové tabulce.
	 * 
	 * @return Klíč záznamu.
	 */
	public int getId() {
		return id;
	}

	/**
	 * Nastaví klíč záznamu.
	 * 
	 * @param id
	 *            Nový klíč záznamu.
	 */
	public void setId(int id) {
		this.id = id;
	}

}
