librcsb-core-wrapper 1.005
DataInfo.h
Go to the documentation of this file.
1//$$FILE$$
2//$$VERSION$$
3//$$DATE$$
4//$$LICENSE$$
5
6
14#ifndef DATAINFO_H
15#define DATAINFO_H
16
17
18#include <string>
19#include <vector>
20#include <iostream>
21
22#include <rcsb/rcsb_types.h>
23#include <rcsb/GenString.h>
24
25
27{
28 public:
30 virtual ~DataInfo();
31
32 virtual void GetVersion(std::string& version) = 0;
33
34 virtual const std::vector<std::string>& GetCatNames() = 0;
35
36 virtual const std::vector<std::string>& GetItemsNames() = 0;
37
38 virtual bool IsCatDefined(const std::string& catName) const = 0;
39
40 virtual bool IsItemDefined(const std::string& itemName) = 0;
41
42 virtual const std::vector<std::string>&
43 GetCatKeys(const std::string& catName) = 0;
44
45 virtual const std::vector<std::string>&
46 GetCatAttribute(const std::string& catName,
47 const std::string& refCatName, const std::string& refAttribName) = 0;
48
49 virtual const std::vector<std::string>&
50 GetItemAttribute(const std::string& itemName,
51 const std::string& refCatName, const std::string& refAttribName) = 0;
52
53 virtual bool AreAllKeyItems(const std::string& catName,
54 const std::vector<std::string>& attribsNames);
55
56 virtual bool IsUnknownValueAllowed(const std::string& catName,
57 const std::string& attribName);
58
59 bool AreItemsValuesValid(const std::string& catName,
60 const std::vector<std::string>& attribsNames,
61 const std::vector<unsigned int>& attribsIndices,
62 const std::vector<bool>& allowedNullAttribs,
63 const std::vector<std::string>& values,
64 const Char::eCompareType compareType = Char::eCASE_SENSITIVE);
65
66 virtual bool IsKeyItem(const std::string& catName,
67 const std::string& attribName,
68 const Char::eCompareType compareType = Char::eCASE_SENSITIVE);
69
70 virtual bool MustConvertItem(const std::string& catName,
71 const std::string& attribName);
72
73 virtual void GetItemsTypes(std::vector<eTypeCode>& attribsTypes,
74 const std::string& catName, const std::vector<std::string>& attribsNames);
75
76 virtual void StandardizeEnumItem(std::string& value,
77 const std::string& catName,
78 const std::string& attribName);
79
80 void GetMandatoryItems(std::vector<std::string>& mandItemsNames,
81 const std::string& catName);
82
83 bool IsItemMandatory(const std::string& catName,
84 const std::string& attribName);
85 virtual bool IsItemMandatory(const std::string& itemName);
86
87 // VLAD - RESOLVE THIS
88 virtual bool IsSimpleDataType(const std::string& itemName);
89 virtual eTypeCode _GetDataType(const std::string& itemName);
90
91 const std::vector<std::vector<std::string> >&
92 GetComboKeys(const std::string& catName);
93 std::vector<std::vector<std::vector<std::string> > >&
94 GetChildrenKeys(const std::vector<std::string>& parComboKey);
95};
96
97#ifndef VLAD_ATOM_SITES_ALT_ID_IGNORE
98extern std::string CIF_ITEM;
99#endif
100
101#endif
std::string CIF_ITEM
eCompareType
Definition: GenString.h:27
@ eCASE_SENSITIVE
Definition: GenString.h:28
Definition: DataInfo.h:27
virtual bool IsSimpleDataType(const std::string &itemName)
virtual void GetItemsTypes(std::vector< eTypeCode > &attribsTypes, const std::string &catName, const std::vector< std::string > &attribsNames)
virtual bool IsCatDefined(const std::string &catName) const =0
void GetMandatoryItems(std::vector< std::string > &mandItemsNames, const std::string &catName)
virtual const std::vector< std::string > & GetCatAttribute(const std::string &catName, const std::string &refCatName, const std::string &refAttribName)=0
bool IsItemMandatory(const std::string &catName, const std::string &attribName)
virtual const std::vector< std::string > & GetCatKeys(const std::string &catName)=0
bool AreItemsValuesValid(const std::string &catName, const std::vector< std::string > &attribsNames, const std::vector< unsigned int > &attribsIndices, const std::vector< bool > &allowedNullAttribs, const std::vector< std::string > &values, const Char::eCompareType compareType=Char::eCASE_SENSITIVE)
virtual void GetVersion(std::string &version)=0
virtual const std::vector< std::string > & GetItemsNames()=0
std::vector< std::vector< std::vector< std::string > > > & GetChildrenKeys(const std::vector< std::string > &parComboKey)
virtual bool IsItemDefined(const std::string &itemName)=0
virtual bool MustConvertItem(const std::string &catName, const std::string &attribName)
virtual bool IsKeyItem(const std::string &catName, const std::string &attribName, const Char::eCompareType compareType=Char::eCASE_SENSITIVE)
virtual const std::vector< std::string > & GetCatNames()=0
virtual bool IsUnknownValueAllowed(const std::string &catName, const std::string &attribName)
virtual void StandardizeEnumItem(std::string &value, const std::string &catName, const std::string &attribName)
const std::vector< std::vector< std::string > > & GetComboKeys(const std::string &catName)
virtual bool IsItemMandatory(const std::string &itemName)
virtual const std::vector< std::string > & GetItemAttribute(const std::string &itemName, const std::string &refCatName, const std::string &refAttribName)=0
virtual eTypeCode _GetDataType(const std::string &itemName)
virtual bool AreAllKeyItems(const std::string &catName, const std::vector< std::string > &attribsNames)
virtual ~DataInfo()
eTypeCode
Definition: rcsb_types.h:21