ParameterGenerator.hh 1.36 KB
/*
 * Parametergenerator.hh
 *
 *  Created on: Jan 24, 2013
 *      Author: f.casimir
 */

#ifndef PARAMETERGENERATOR_HH_
#define PARAMETERGENERATOR_HH_

#include "ParamOutput.hh"

namespace AMDA {
namespace Parameters {

/**
 * @class Generator
 * @brief This class is used to only compile Parameter.
 * @details This class takes as input a Parameter name and plays stage 'establishConnection' and 'init' with a time interval of zero.
 * The function 'apply' is empty. Under these conditions the program stops after compiling all the parameters elements.
 */
class Generator: public AMDA::Parameters::ParamOutput {
public:
	/**
	 * Constructor.
	 */
	Generator(AMDA::Parameters::ParameterManager& pParameterManager);
	/**
	 * Destructor.
	 */
	virtual ~Generator();

	// Getter methods
	const std::string& getParamName() const { return _paramName; }

	// Setter methods
	void setParamName(const std::string& paramName) { _paramName = paramName; }

	/**
	 * @overload DataClient::establishConnection()
	*/
	virtual void establishConnection();

	/**
	 * @overload ParamOutput::apply()
	 * @brief Empty method.
	*/
	 virtual void apply() {}

protected:

	/**
	 * @overload ParamOutput::init()
	*/
	virtual void init();

private:
	AMDA::Parameters::Parameter* 		 _parameter;
	std::string      _paramName;
};

} /* namespace Parameters */
} /* namespace AMDA */
#endif /* PARAMETERGENERATOR_HH_ */