Medical Imaging Interaction Toolkit  2021.10.99-1c4db16f
Medical Imaging Interaction Toolkit
mitkPropertyExtensions.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkPropertyExtensions_h
14 #define mitkPropertyExtensions_h
15 
16 #include <map>
18 
19 namespace mitk
20 {
22  {
23  public:
25  ~PropertyExtensions() override;
26 
27  bool AddExtension(const std::string &propertyName,
29  const std::string &className,
30  bool overwrite) override;
31  PropertyExtension::Pointer GetExtension(const std::string &propertyName, const std::string &className) override;
32  bool HasExtension(const std::string &propertyName, const std::string &className) override;
33  void RemoveAllExtensions(const std::string &className) override;
34  void RemoveExtension(const std::string &propertyName, const std::string &className) override;
35 
36  private:
37  typedef std::map<std::string, PropertyExtension::Pointer> ExtensionMap;
38  typedef ExtensionMap::const_iterator ExtensionMapConstIterator;
39  typedef ExtensionMap::iterator ExtensionMapIterator;
40 
42  PropertyExtensions &operator=(const PropertyExtensions &);
43 
44  std::map<std::string, ExtensionMap> m_Extensions;
45  };
46 }
47 
48 #endif
~PropertyExtensions() override
DataCollection - Class to facilitate loading/accessing structured data.
Interface of property extensions service.
void RemoveExtension(const std::string &propertyName, const std::string &className) override
Remove extension of a specific property.
bool HasExtension(const std::string &propertyName, const std::string &className) override
Check if a specific property has an extension.
PropertyExtension::Pointer GetExtension(const std::string &propertyName, const std::string &className) override
Get the extension of a specific property.
void RemoveAllExtensions(const std::string &className) override
Remove all property extensions.
bool AddExtension(const std::string &propertyName, PropertyExtension::Pointer extension, const std::string &className, bool overwrite) override
Add an extension to a specific property.