2 * Parameters_VariableValidator.h
4 * Created on: Apr 9, 2015
8 #ifndef PARAMETERSPLUGIN_VARIABLEVALIDATOR_H_
9 #define PARAMETERSPLUGIN_VARIABLEVALIDATOR_H_
11 #include <ParametersPlugin.h>
12 #include <ParametersPlugin_Validators.h>
14 #include <ModelAPI_AttributeValidator.h>
19 * \class ParametersPlugin_VariableValidator
21 * \brief Validator for the variable name of parameter.
23 class ParametersPlugin_VariableValidator : public ModelAPI_AttributeValidator
26 PARAMETERSPLUGIN_EXPORT ParametersPlugin_VariableValidator();
27 PARAMETERSPLUGIN_EXPORT virtual ~ParametersPlugin_VariableValidator();
30 * \brief Returns true if attribute has a valid parameter name.
31 * \param theAttribute the checked attribute
32 * \param theArguments arguments of the attribute
33 * \param theError the error string message if validation fails
35 PARAMETERSPLUGIN_EXPORT virtual bool isValid(const AttributePtr& theAttribute,
36 const std::list<std::string>& theArguments,
37 std::string& theError) const;
40 /// Returns true if theString is a valid variable name.
41 PARAMETERSPLUGIN_EXPORT bool isVariable(const std::string& theString) const;
42 /// Returns true if theString is unique parameter name in the document of theAttribute.
43 PARAMETERSPLUGIN_EXPORT bool isUnique(const AttributePtr& theAttribute,
44 const std::string& theString) const;
48 * \class ParametersPlugin_ExpressionValidator
50 * \brief Validator for the expression of parameter.
52 class ParametersPlugin_ExpressionValidator: public ModelAPI_AttributeValidator
55 PARAMETERSPLUGIN_EXPORT ParametersPlugin_ExpressionValidator();
56 PARAMETERSPLUGIN_EXPORT virtual ~ParametersPlugin_ExpressionValidator();
59 * \brief Returns true if attribute has a valid parameter expression.
60 * \param theAttribute the checked attribute
61 * \param theArguments arguments of the attribute
62 * \param theError the error string message if validation fails
64 PARAMETERSPLUGIN_EXPORT virtual bool isValid(const AttributePtr& theAttribute,
65 const std::list<std::string>& theArguments,
66 std::string& theError) const;
70 #endif /* PARAMETERSPLUGIN_VARIABLEVALIDATOR_H_ */