+ /// Computes the attribute value on the base of other attributes if the value can be computed
+ /// \param theAttributeId an attribute index to be computed
+ /// \return a boolean value about it is computed
+ virtual bool compute(const std::string& theAttributeId) { return false; };
+
+ /// Registers error during the execution, causes the ExecutionFailed state
+ virtual void setError(const std::string& theError, bool isSend = true) {
+ data()->setError(theError, isSend);
+ }
+
+ /// Returns error, arose during the execution
+ virtual std::string error() const {
+ return data()->error();
+ }
+