/*
 * $Id: VKCProjectStepDAO.java,v 1.1 2006/08/24 22:18:52 marbobo Exp $
 *
 * Copyright (c) Siemens AG 2008 
 *           (c) Universität Paderborn 2008 
 * Licensed under EUPL 1.1. 
 * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
 * THIS SOFTWARE OR ITS DERIVATIVES.
 *
 * $Log: VKCProjectStepDAO.java,v $
 * Revision 1.1  2006/08/24 22:18:52  marbobo
 * + Initiale Version
 *
 */
package vkc.external;

import java.sql.Timestamp;

import vkc.db.entities.VKCCatProjectStep;

/**
 * Diese Klasse kapselt ein Projektschritt.
 * 
 * @author marbobo
 */
public class VKCProjectStepDAO {
	VKCCatProjectStep projectStep = new VKCCatProjectStep();

	VKCProjectStepDAO() {
	}

	VKCProjectStepDAO(VKCCatProjectStep projectStep) {
		this.projectStep = projectStep;
	}

	/**
	 * Konstruktor zum Anlegen eines Projektschrittes
	 * 
	 * @param activity
	 *            Die Beschreibung der Aktivität
	 */
	public VKCProjectStepDAO(String activity) {
		projectStep = new VKCCatProjectStep();

		if (activity != null) {

		}
	}

	/**
	 * Liefert die Beschreibung der Aktivität dieses Projektschrittes
	 * 
	 * @return Die Beschreibung der Aktivität
	 * @see vkc.db.entities.VKCCatProjectStep#getActivity()
	 */
	public String getActivity() {
		return projectStep.getActivity();
	}

	/**
	 * Liefert die Projekt-ID zu der dieses Projektschritt gehört
	 * 
	 * @return Die Projekt-ID
	 * @see vkc.db.entities.VKCCatProjectStep#getCategoryId()
	 */
	public Integer getProjectId() {
		return projectStep.getCategoryId();
	}

	/**
	 * Liefert die ID dieses Projektschrittes
	 * 
	 * @return Die ID
	 * @see vkc.db.entities.VKCCatProjectStep#getCatProjStepId()
	 */
	public Integer getProjectStepId() {
		return projectStep.getCatProjStepId();
	}

	/**
	 * Liefert den Zeitpunkt der Überprüfung dieses Projektschrittes
	 * 
	 * @return Der Überprüfungszeitpunkt
	 * @see vkc.db.entities.VKCCatProjectStep#getCheckedTS()
	 */
	public Timestamp getCheckedTS() {
		return projectStep.getCheckedTS();
	}

	/**
	 * Liefert die Benutzer-ID des Überprüfers dieses Projektschrittes
	 * 
	 * @return Die Benutzer-ID
	 * @see vkc.db.entities.VKCCatProjectStep#getCheckerId()
	 */
	public Integer getCheckerId() {
		return projectStep.getCheckerId();
	}

	/**
	 * Liefert das Enddatum dieses Projektschrittes
	 * 
	 * @return Das Enddatum
	 * @see vkc.db.entities.VKCCatProjectStep#getEndDate()
	 */
	public Timestamp getEndDate() {
		return projectStep.getEndDate();
	}

	/**
	 * Liefert den Zeitpunkt der Bearbeitung dieses Projektschrittes
	 * 
	 * @return Der Bearbeitungszeitpunkt
	 * @see vkc.db.entities.VKCCatProjectStep#getProcessedTS()
	 */
	public Timestamp getProcessedTS() {
		return projectStep.getProcessedTS();
	}

	/**
	 * Liefert die Benutzer-ID des Bearbeiters dieses Projektschrittes
	 * 
	 * @return Die Benutzer-ID
	 * @see vkc.db.entities.VKCCatProjectStep#getProcessorId()
	 */
	public Integer getProcessorId() {
		return projectStep.getProcessorId();
	}

	/**
	 * Liefert das Startdatum dieses Projektschrittes
	 * 
	 * @return Das Startdatum
	 * @see vkc.db.entities.VKCCatProjectStep#getStartDate()
	 */
	public Timestamp getStartDate() {
		return projectStep.getStartDate();
	}

	/**
	 * Liefert die Ordnung/Reihenfolge dieses Projektschrittes
	 * 
	 * @return Die Ordnung/Reihenfolge
	 * @see vkc.db.entities.VKCCatProjectStep#getStep()
	 */
	public Integer getStep() {
		return projectStep.getStep();
	}

	/**
	 * Bestimmt ob dieses Projektschritt aktiviert/deaktiviert ist
	 * 
	 * @return <code>true</code> falls Aktiv, <code>false</code> sonst
	 * @see vkc.db.entities.VKCCatProjectStep#isEnabled()
	 */
	public boolean isEnabled() {
		return projectStep.isEnabled();
	}

	/**
	 * Bestimmt ob die Überprüfung (Endkontrolle) dieses Projektschrittes
	 * abgeschlossen wurde
	 * 
	 * @return <code>true</code> falls Überprüfung abgeschlossen,
	 *         <code>false</code> sonst
	 * @see vkc.db.entities.VKCCatProjectStep#isStepChecked()
	 */
	public boolean isStepChecked() {
		return projectStep.isStepChecked();
	}

	/**
	 * Bestimmt ob die Bearbeitung dieses Projektschrittes abgeschlossen wurde
	 * 
	 * @return <code>true</code> falls Bearbeitung abgeschlossen,
	 *         <code>false</code> sonst
	 * @see vkc.db.entities.VKCCatProjectStep#isStepProcessed()
	 */
	public boolean isStepProcessed() {
		return projectStep.isStepProcessed();
	}

	/**
	 * Bestimmt ob die Bearbeitung und Überprüfung dieses Projektschrittes nicht
	 * abgeschlossen wurde
	 * 
	 * @return <code>true</code> falls Bearbeitung und Überprüfung nicht
	 *         abgeschlossen, <code>false</code> sonst
	 * @see vkc.db.entities.VKCCatProjectStep#isStepRunning()
	 */
	public boolean isStepRunning() {
		return projectStep.isStepRunning();
	}

	/**
	 * Setzt die Beschreibung der Aktivität dieses Projektschrittes
	 * 
	 * @param activity
	 *            Die neue Beschreibung der Aktivität
	 * @see vkc.db.entities.VKCCatProjectStep#setActivity(java.lang.String)
	 */
	public void setActivity(String activity) {
		projectStep.setActivity(activity);
	}

	/**
	 * Setzt die Projekt-ID zu der dieses Projektschritt gehört
	 * 
	 * @param projectId
	 *            Die Projekt-ID
	 * @see vkc.db.entities.VKCCatProjectStep#setCategoryId(java.lang.Integer)
	 */
	public void setProjectId(Integer projectId) {
		projectStep.setCategoryId(projectId);
	}

	/**
	 * Setzt den Zeitpunkt der Überprüfung dieses Projektschrittes
	 * 
	 * @param checkedTS
	 *            Der Überprüfungszeitpunkt
	 * @see vkc.db.entities.VKCCatProjectStep#setCheckedTS(java.sql.Timestamp)
	 */
	public void setCheckedTS(Timestamp checkedTS) {
		projectStep.setCheckedTS(checkedTS);
	}

	/**
	 * Setzt die Benutzer-ID des Überprüfers dieses Projektschrittes
	 * 
	 * @param checkerId
	 *            Die Benutzer-ID des Überprüfers
	 * @see vkc.db.entities.VKCCatProjectStep#setCheckerId(java.lang.Integer)
	 */
	public void setCheckerId(Integer checkerId) {
		projectStep.setCheckerId(checkerId);
	}

	/**
	 * Aktiviert/Deaktiviert diesen Projektschritt
	 * 
	 * @param enabled
	 * @see vkc.db.entities.VKCCatProjectStep#setEnabled(boolean)
	 */
	public void setEnabled(boolean enabled) {
		projectStep.setEnabled(enabled);
	}

	/**
	 * Setzt das Enddatum dieses Projektschrittes
	 * 
	 * @param endDate
	 *            Das Enddatum
	 * @see vkc.db.entities.VKCCatProjectStep#setEndDate(java.sql.Timestamp)
	 */
	public void setEndDate(Timestamp endDate) {
		projectStep.setEndDate(endDate);
	}

	/**
	 * Setzt den Zeitpunkt der Bearbeitung dieses Projektschrittes
	 * 
	 * @param processedTS
	 *            Der Bearbeitungszeitpunkt
	 * @see vkc.db.entities.VKCCatProjectStep#setProcessedTS(java.sql.Timestamp)
	 */
	public void setProcessedTS(Timestamp processedTS) {
		projectStep.setProcessedTS(processedTS);
	}

	/**
	 * Setzt die Benutzer-ID des Bearbeiters dieses Projektschrittes
	 * 
	 * @param processorId
	 *            Die Benutzer-ID des Bearbeiters
	 * @see vkc.db.entities.VKCCatProjectStep#setProcessorId(java.lang.Integer)
	 */
	public void setProcessorId(Integer processorId) {
		projectStep.setProcessorId(processorId);
	}

	/**
	 * Setzt das Startdatum dieses Projektschrittes
	 * 
	 * @param startDate
	 *            Das Startdatum
	 * @see vkc.db.entities.VKCCatProjectStep#setStartDate(java.sql.Timestamp)
	 */
	public void setStartDate(Timestamp startDate) {
		projectStep.setStartDate(startDate);
	}

	/**
	 * Setzt die Ordnung/Reihenfolge dieses Projektschrittes
	 * 
	 * @param step
	 *            Die Ordnung/Reihenfolge
	 * @see vkc.db.entities.VKCCatProjectStep#setStep(java.lang.Integer)
	 */
	public void setStep(Integer step) {
		projectStep.setStep(step);
	}

	/**
	 * @see vkc.db.entities.VKCCatProjectStep#toString()
	 */
	public String toString() {
		return projectStep.toString();
	}
}