/* * ParameterCreatorFromExpression.hh * * Created on: Dec 14, 2012 * Author: f.casimir */ #ifndef PARAMETERCREATORFROMEXPRESSION_HH_ #define PARAMETERCREATORFROMEXPRESSION_HH_ #include "Parameter.hh" #include "Parser.hh" namespace AMDA { namespace Parameters { /** * @see ParameterManager */ class ParameterManager; /** * @brief parse expression and get one parameter */ class ParameterCreatorFromExpression { public: /** * @brief constructor, initialize _parameterManager */ ParameterCreatorFromExpression(ParameterManager& pParameterManager); /** * destructor */ virtual ~ParameterCreatorFromExpression(); /** * parse expression pExpression and create a pParameter * @param pParameter parent parameter * @param pExpression expretion to parse * @return the parameter created, this parameter must be * - if expression == parameterName ==> parameterName parameter * - if expression is a process ==> process parameter * - else hash(expression) parameter * */ ParameterSPtr getOneParameterFromExpression(Parameter& pParameter, const std::string& pExpression, bool isUserProcess); private: /** * @brief reference of parameterManager to create parameter */ ParameterManager& _parameterManager; /** * brief parser object */ Parser _parser; }; } /* namespace Parameters */ } /* namespace AMDA */ #endif /* PARAMETERCREATORFROMEXPRESSION_HH_ */