13 #ifndef mitkPropertyRelations_h 14 #define mitkPropertyRelations_h 50 using RuleMap = std::map<const std::string, PropertyRelationRuleBase::ConstPointer>;
Interface of property relations service.
DataCollection - Class to facilitate loading/accessing structured data.
bool HasRuleForSource(const IPropertyProvider *source) const override
Check if a passed instance has defined relation covered by the registered rules.
std::list< PropertyRelationRuleBase::ConstPointer > RuleResultVectorType
MITKCORE_EXPORT IPropertyRelations * CreateTestInstancePropertyRelations()
RuleResultVectorType GetRulesForSource(const IPropertyProvider *source) const override
Get all relation rules the passed source is really a source of. (PropertyRelationRuleBase::IsSource()...
bool AddRule(const PropertyRelationRuleBase *rule, bool overwrite=false) override
Add rule for a specific relation. If there is already a property rule instance it won't be added...
PropertyRelationRuleBase::RuleIDType RuleIDType
void RemoveRule(const RuleIDType &ruleID) override
Remove relation rule instance with the passed ID. If rule does not exist nothing happens.
RuleIDVectorType GetRuleIDs() const override
Get all IDs of registered rules.
void RemoveAllRules() override
Remove all relation rules.
RuleResultVectorType GetRulesForDestinationCandidate(const IPropertyProvider *destCandidate) const override
Get all relation rules that would accept the passed IPropertOwner as destination. ...
PropertyRelationRuleBase::ConstPointer GetRule(const RuleIDType &ruleID) const override
Get the relation rule that has the specfied ruleID.
~PropertyRelations() override
std::vector< RuleIDType > RuleIDVectorType
RuleResultVectorType GetRulesForSourceCandidate(const IPropertyProvider *sourceCandidate) const override
Get all relation rules that would accept the passed IPropertOwner as source.