librcsb-core-wrapper  1.000
DictDataInfo.h
Go to the documentation of this file.
1 //$$FILE$$
2 //$$VERSION$$
3 //$$DATE$$
4 //$$LICENSE$$
5 
6 
14 #ifndef DICTDATAINFO_H
15 #define DICTDATAINFO_H
16 
17 
18 #include <string>
19 #include <vector>
20 
21 #include <rcsb/DataInfo.h>
22 #include <rcsb/DictObjCont.h>
23 
24 
25 class DictDataInfo : public DataInfo
26 {
27  public:
28  DictDataInfo(const DictObjCont& dictObjCont);
29  ~DictDataInfo();
30 
31  void GetVersion(std::string& version);
32 
33  virtual const std::vector<std::string>& GetCatNames();
34 
35  const std::vector<std::string>& GetItemsNames();
36 
37  bool IsCatDefined(const std::string& catName) const;
38 
39  bool IsItemDefined(const std::string& itemName);
40 
41  const std::vector<std::string>& GetCatKeys(const std::string& catName);
42 
43  const std::vector<std::string>& GetCatAttribute(const std::string& catName,
44  const std::string& refCatName, const std::string& refAttrName);
45 
46  const std::vector<std::string>&
47  GetItemAttribute(const std::string& itemName,
48  const std::string& refCatName, const std::string& refAttrName);
49 
50  virtual void GetCatItemsNames(std::vector<std::string>& itemsNames,
51  const std::string& catName);
52 
53  virtual void GetParentCifItems(std::vector<std::string>& parCifItems,
54  const std::string& cifItemName);
55 
56  protected:
58 
59  private:
60  void _GetDictVersion(std::string& dictVer);
61  bool _isDictCategory(const std::string& category) const;
62 };
63 
64 
65 #endif