virtual ~ModelAPI_Validator()
{
}
-
- /// Returns true if feature and/or attributes are valid
- /// \param theFeature the validated feature
- /// \param theAttr the validated attribute ID, empty string of feature is validated
- /// \param theArguments list of string, feature attribute names: dependent attributes
- //virtual bool validate(const boost::shared_ptr<ModelAPI_Feature>& theFeature,
- // const std::string theAttr, std::list<std::string> theArguments) const = 0;
};
typedef boost::shared_ptr<ModelAPI_Validator> ValidatorPtr;
* Allows to get a validator by the feature identifier and
* the attribute identifier (if attribute is validated).
* All accessible validators mustbe registered by the ID string first.
- * The instance of this factory can be get in the PluginManager.
+ * The instance of this factory can be get in the Session.
* Keeps the validator objects alive and just returns one of it by request.
* All the needed information is provided to the validator as an argument,
* this allows to work with them independently from the feature specific object.
/// Returns true if feature and all its attributes are valid.
virtual bool validate(const boost::shared_ptr<ModelAPI_Feature>& theFeature) const = 0;
+ /// register that this attribute in feature is not obligatory for the feature execution
+ /// so, it is not needed for the standard validation mechanism
+ virtual void registerNotObligatory(std::string theFeature, std::string theAttribute) = 0;
+
+ /// register that this attribute conceals in the object browser
+ /// all referenced features after execution
+ virtual void registerConcealment(std::string theFeature, std::string theAttribute) = 0;
+
+ /// Returns true that it was registered that attribute conceals the referenced result
+ virtual bool isConcealed(std::string theFeature, std::string theAttribute) = 0;
+
protected:
- /// Get instance from PluginManager
+ /// Get instance from Session
ModelAPI_ValidatorsFactory()
{
}