librcsb-core-wrapper  1.005
CifString.h
Go to the documentation of this file.
1 //$$FILE$$
2 //$$VERSION$$
3 //$$DATE$$
4 //$$LICENSE$$
5 
6 
7 #ifndef CIFSTRING_H
8 #define CIFSTRING_H
9 
10 
11 #include <string>
12 #include <vector>
13 
14 
30 class CifString
31 {
32 public:
33  static const char PREFIX_CHAR = '_';
34  static const char JOIN_CHAR = '.';
35 
36  static const char NULL_CHAR = '?';
37  static const char NOT_APPROPRIATE_CHAR = '.';
38 
39  static const std::string CIF_DDL_CATEGORY_BLOCK;
40  static const std::string CIF_DDL_CATEGORY_DATABLOCK;
41  static const std::string CIF_DDL_CATEGORY_DATABLOCK_METHODS;
42  static const std::string CIF_DDL_CATEGORY_ITEM;
43  static const std::string CIF_DDL_CATEGORY_ITEM_LINKED;
44  static const std::string CIF_DDL_CATEGORY_PDBX_ITEM_LINKED_GROUP;
46  static const std::string CIF_DDL_CATEGORY_CATEGORY;
47  static const std::string CIF_DDL_CATEGORY_CATEGORY_EXAMPLES;
48  static const std::string CIF_DDL_CATEGORY_NDB_CATEGORY_EXAMPLES;
49  static const std::string CIF_DDL_CATEGORY_CATEGORY_KEY;
50  static const std::string CIF_DDL_CATEGORY_CATEGORY_GROUP;
51  static const std::string CIF_DDL_CATEGORY_CATEGORY_GROUP_LIST;
52  static const std::string CIF_DDL_CATEGORY_CATEGORY_METHODS;
53  static const std::string CIF_DDL_CATEGORY_SUB_CATEGORY;
54  static const std::string CIF_DDL_CATEGORY_SUB_CATEGORY_EXAMPLES;
55  static const std::string CIF_DDL_CATEGORY_SUB_CATEGORY_METHODS;
56  static const std::string CIF_DDL_CATEGORY_ITEM_SUB_CATEGORY;
57  static const std::string CIF_DDL_CATEGORY_ITEM_TYPE;
58  static const std::string CIF_DDL_CATEGORY_ITEM_TYPE_CONDITIONS;
59  static const std::string CIF_DDL_CATEGORY_ITEM_METHODS;
60  static const std::string CIF_DDL_CATEGORY_ITEM_TYPE_LIST;
61  static const std::string CIF_DDL_CATEGORY_ITEM_STRUCTURE;
62  static const std::string CIF_DDL_CATEGORY_ITEM_STRUCTURE_LIST;
63  static const std::string CIF_DDL_CATEGORY_ITEM_DESCRIPTION;
64  static const std::string CIF_DDL_CATEGORY_NDB_ITEM_DESCRIPTION;
66  static const std::string CIF_DDL_CATEGORY_ITEM_EXAMPLES;
67  static const std::string CIF_DDL_CATEGORY_NDB_ITEM_EXAMPLES;
68  static const std::string CIF_DDL_CATEGORY_ITEM_DEPENDENT;
69  static const std::string CIF_DDL_CATEGORY_ITEM_RELATED;
70  static const std::string CIF_DDL_CATEGORY_ITEM_RANGE;
71  static const std::string CIF_DDL_CATEGORY_ITEM_ENUMERATION;
72  static const std::string CIF_DDL_CATEGORY_NDB_ITEM_ENUMERATION;
73  static const std::string CIF_DDL_CATEGORY_ITEM_DEFAULT;
74  static const std::string CIF_DDL_CATEGORY_ITEM_ALIASES;
75  static const std::string CIF_DDL_CATEGORY_DICTIONARY;
76  static const std::string CIF_DDL_CATEGORY_DICTIONARY_HISTORY;
77  static const std::string CIF_DDL_CATEGORY_ITEM_UNITS;
78  static const std::string CIF_DDL_CATEGORY_ITEM_UNITS_LIST;
79  static const std::string CIF_DDL_CATEGORY_ITEM_UNITS_CONVERSION;
80  static const std::string CIF_DDL_CATEGORY_METHOD_LIST;
81 
82  static const std::string CIF_DDL_ITEM_ID;
83  static const std::string CIF_DDL_ITEM_CATEGORY_ID;
84  static const std::string CIF_DDL_ITEM_SUB_CATEGORY_ID;
85  static const std::string CIF_DDL_ITEM_METHOD_ID;
86  static const std::string CIF_DDL_ITEM_PARENT_NAME;
87  static const std::string CIF_DDL_ITEM_CHILD_NAME;
88  static const std::string CIF_DDL_ITEM_CHILD_CATEGORY_ID;
89  static const std::string CIF_DDL_ITEM_PARENT_CATEGORY_ID;
90  static const std::string CIF_DDL_ITEM_LINK_GROUP_ID;
91  static const std::string CIF_DDL_ITEM_LABEL;
92  static const std::string CIF_DDL_ITEM_CONTEXT;
93  static const std::string CIF_DDL_ITEM_CONDITION_ID;
94  static const std::string CIF_DDL_ITEM_ALIAS_NAME;
95  static const std::string CIF_DDL_ITEM_DICTIONARY;
96  static const std::string CIF_DDL_ITEM_TITLE;
97  static const std::string CIF_DDL_ITEM_VERSION;
98  static const std::string CIF_DDL_ITEM_NAME;
99  static const std::string CIF_DDL_ITEM_CODE;
100  static const std::string CIF_DDL_ITEM_PRIMITIVE_CODE;
101  static const std::string CIF_DDL_ITEM_CONSTRUCT;
102  static const std::string CIF_DDL_ITEM_ORGANIZATION;
103  static const std::string CIF_DDL_ITEM_INDEX;
104  static const std::string CIF_DDL_ITEM_DIMENSION;
105  static const std::string CIF_DDL_ITEM_DATABLOCK_ID;
106  static const std::string CIF_DDL_ITEM_DESCRIPTION;
107  static const std::string CIF_DDL_ITEM_NDB_DESCRIPTION;
108  static const std::string CIF_DDL_ITEM_CASE;
109  static const std::string CIF_DDL_ITEM_MANDATORY_CODE;
110  static const std::string CIF_DDL_ITEM_DETAIL;
111  static const std::string CIF_DDL_ITEM_MAXIMUM;
112  static const std::string CIF_DDL_ITEM_MINIMUM;
113  static const std::string CIF_DDL_ITEM_VALUE;
114  static const std::string CIF_DDL_ITEM_DEPENDENT_NAME;
115  static const std::string CIF_DDL_ITEM_RELATED_NAME;
116  static const std::string CIF_DDL_ITEM_FUNCTION_CODE;
117  static const std::string CIF_DDL_ITEM_OFFSET;
118  static const std::string CIF_DDL_ITEM_OPERATOR;
119  static const std::string CIF_DDL_ITEM_FACTOR;
120  static const std::string CIF_DDL_ITEM_FROM_CODE;
121  static const std::string CIF_DDL_ITEM_TO_CODE;
122  static const std::string CIF_DDL_ITEM_UPDATE;
123  static const std::string CIF_DDL_ITEM_REVISION;
124  static const std::string CIF_DDL_ITEM_INLINE;
125  static const std::string CIF_DDL_ITEM_LANGUAGE;
126  static const std::string CIF_DDL_ITEM_PARENT_ID;
127 
128  static const std::string UnknownValue;
129  static const std::string InapplicableValue;
130 
131  static void MakeCifItem(std::string& cifItem,
132  const std::string& categoryName, const std::string& itemName);
133  static void MakeCifItems(std::vector<std::string>& cifItems,
134  const std::string& categoryName,
135  const std::vector<std::string>& attribsNames);
136 
137  static void GetItemFromCifItem(std::string& keyword,
138  const std::string& itemName);
139  static void GetCategoryFromCifItem(std::string& categoryName,
140  const std::string& itemName);
141 
142  static bool IsEmptyValue(const std::string& value);
143  static bool IsUnknownValue(const std::string& value);
144 
145  static bool IsSpecialChar(const char charValue);
146  static bool IsSpecialFirstChar(const char charValue);
147 };
148 
149 #endif
static const std::string CIF_DDL_CATEGORY_NDB_CATEGORY_EXAMPLES
Definition: CifString.h:48
static void GetItemFromCifItem(std::string &keyword, const std::string &itemName)
static const std::string CIF_DDL_ITEM_ORGANIZATION
Definition: CifString.h:102
static const std::string CIF_DDL_CATEGORY_NDB_ITEM_EXAMPLES
Definition: CifString.h:67
static const std::string CIF_DDL_CATEGORY_CATEGORY
Definition: CifString.h:46
static const std::string UnknownValue
Definition: CifString.h:128
static const std::string CIF_DDL_CATEGORY_DATABLOCK_METHODS
Definition: CifString.h:41
static const std::string CIF_DDL_ITEM_MANDATORY_CODE
Definition: CifString.h:109
static const std::string CIF_DDL_CATEGORY_ITEM_STRUCTURE
Definition: CifString.h:61
static const std::string CIF_DDL_ITEM_CASE
Definition: CifString.h:108
static const std::string CIF_DDL_CATEGORY_SUB_CATEGORY
Definition: CifString.h:53
static const char PREFIX_CHAR
Definition: CifString.h:33
static const std::string CIF_DDL_CATEGORY_ITEM_DEFAULT
Definition: CifString.h:73
static const std::string CIF_DDL_CATEGORY_SUB_CATEGORY_EXAMPLES
Definition: CifString.h:54
static const std::string CIF_DDL_ITEM_VERSION
Definition: CifString.h:97
static const std::string CIF_DDL_ITEM_MINIMUM
Definition: CifString.h:112
static const std::string CIF_DDL_ITEM_DIMENSION
Definition: CifString.h:104
static const char NULL_CHAR
Definition: CifString.h:36
static const std::string CIF_DDL_CATEGORY_ITEM_RELATED
Definition: CifString.h:69
static const std::string CIF_DDL_CATEGORY_DATABLOCK
Definition: CifString.h:40
static const std::string CIF_DDL_ITEM_DETAIL
Definition: CifString.h:110
static const std::string CIF_DDL_CATEGORY_ITEM_SUB_CATEGORY
Definition: CifString.h:56
static const std::string CIF_DDL_CATEGORY_ITEM_LINKED
Definition: CifString.h:43
static const char NOT_APPROPRIATE_CHAR
Definition: CifString.h:37
static const std::string CIF_DDL_ITEM_TO_CODE
Definition: CifString.h:121
static const std::string CIF_DDL_ITEM_FROM_CODE
Definition: CifString.h:120
static const std::string CIF_DDL_ITEM_PARENT_NAME
Definition: CifString.h:86
static void MakeCifItems(std::vector< std::string > &cifItems, const std::string &categoryName, const std::vector< std::string > &attribsNames)
static const std::string CIF_DDL_ITEM_CONSTRUCT
Definition: CifString.h:101
static const std::string CIF_DDL_CATEGORY_ITEM_DEPENDENT
Definition: CifString.h:68
static const std::string InapplicableValue
Definition: CifString.h:129
static const std::string CIF_DDL_ITEM_CHILD_NAME
Definition: CifString.h:87
static const std::string CIF_DDL_ITEM_TITLE
Definition: CifString.h:96
static const std::string CIF_DDL_ITEM_OPERATOR
Definition: CifString.h:118
static const std::string CIF_DDL_CATEGORY_ITEM_UNITS_CONVERSION
Definition: CifString.h:79
static bool IsSpecialFirstChar(const char charValue)
static void MakeCifItem(std::string &cifItem, const std::string &categoryName, const std::string &itemName)
static const std::string CIF_DDL_CATEGORY_ITEM_RANGE
Definition: CifString.h:70
static const std::string CIF_DDL_CATEGORY_NDB_ITEM_ENUMERATION
Definition: CifString.h:72
static const std::string CIF_DDL_CATEGORY_PDBX_ITEM_LINKED_GROUP
Definition: CifString.h:44
static const std::string CIF_DDL_CATEGORY_ITEM_EXAMPLES
Definition: CifString.h:66
static const std::string CIF_DDL_ITEM_PARENT_CATEGORY_ID
Definition: CifString.h:89
static const std::string CIF_DDL_CATEGORY_CATEGORY_GROUP_LIST
Definition: CifString.h:51
static const std::string CIF_DDL_ITEM_DATABLOCK_ID
Definition: CifString.h:105
static const std::string CIF_DDL_CATEGORY_SUB_CATEGORY_METHODS
Definition: CifString.h:55
static const std::string CIF_DDL_ITEM_DICTIONARY
Definition: CifString.h:95
static const std::string CIF_DDL_CATEGORY_CATEGORY_METHODS
Definition: CifString.h:52
static const std::string CIF_DDL_ITEM_DEPENDENT_NAME
Definition: CifString.h:114
static const std::string CIF_DDL_CATEGORY_ITEM_ENUMERATION
Definition: CifString.h:71
static const std::string CIF_DDL_CATEGORY_ITEM_UNITS_LIST
Definition: CifString.h:78
static const std::string CIF_DDL_CATEGORY_BLOCK
Definition: CifString.h:39
static const std::string CIF_DDL_ITEM_LABEL
Definition: CifString.h:91
static const std::string CIF_DDL_CATEGORY_ITEM_TYPE
Definition: CifString.h:57
static const std::string CIF_DDL_ITEM_NDB_DESCRIPTION
Definition: CifString.h:107
static const std::string CIF_DDL_CATEGORY_METHOD_LIST
Definition: CifString.h:80
static const std::string CIF_DDL_CATEGORY_ITEM_DESCRIPTION
Definition: CifString.h:63
static const std::string CIF_DDL_ITEM_FUNCTION_CODE
Definition: CifString.h:116
static const std::string CIF_DDL_CATEGORY_DICTIONARY_HISTORY
Definition: CifString.h:76
static const std::string CIF_DDL_ITEM_CHILD_CATEGORY_ID
Definition: CifString.h:88
static const std::string CIF_DDL_ITEM_UPDATE
Definition: CifString.h:122
static const std::string CIF_DDL_CATEGORY_PDBX_ITEM_LINKED_GROUP_LIST
Definition: CifString.h:45
static const std::string CIF_DDL_ITEM_FACTOR
Definition: CifString.h:119
static const std::string CIF_DDL_ITEM_VALUE
Definition: CifString.h:113
static const std::string CIF_DDL_ITEM_RELATED_NAME
Definition: CifString.h:115
static const std::string CIF_DDL_ITEM_PARENT_ID
Definition: CifString.h:126
static const std::string CIF_DDL_CATEGORY_ITEM
Definition: CifString.h:42
static const std::string CIF_DDL_CATEGORY_ITEM_UNITS
Definition: CifString.h:77
static bool IsEmptyValue(const std::string &value)
static bool IsSpecialChar(const char charValue)
static const std::string CIF_DDL_CATEGORY_ITEM_TYPE_LIST
Definition: CifString.h:60
static const std::string CIF_DDL_ITEM_ALIAS_NAME
Definition: CifString.h:94
static const std::string CIF_DDL_ITEM_CONTEXT
Definition: CifString.h:92
static const std::string CIF_DDL_ITEM_NAME
Definition: CifString.h:98
static const std::string CIF_DDL_ITEM_CONDITION_ID
Definition: CifString.h:93
static const std::string CIF_DDL_CATEGORY_CATEGORY_GROUP
Definition: CifString.h:50
static const std::string CIF_DDL_ITEM_ID
Definition: CifString.h:82
static const std::string CIF_DDL_CATEGORY_DICTIONARY
Definition: CifString.h:75
static const std::string CIF_DDL_ITEM_MAXIMUM
Definition: CifString.h:111
static const char JOIN_CHAR
Definition: CifString.h:34
static const std::string CIF_DDL_CATEGORY_ITEM_ALIASES
Definition: CifString.h:74
static const std::string CIF_DDL_CATEGORY_CATEGORY_KEY
Definition: CifString.h:49
static const std::string CIF_DDL_ITEM_SUB_CATEGORY_ID
Definition: CifString.h:84
static const std::string CIF_DDL_ITEM_METHOD_ID
Definition: CifString.h:85
static const std::string CIF_DDL_ITEM_LANGUAGE
Definition: CifString.h:125
static const std::string CIF_DDL_ITEM_REVISION
Definition: CifString.h:123
static const std::string CIF_DDL_ITEM_INDEX
Definition: CifString.h:103
static const std::string CIF_DDL_ITEM_INLINE
Definition: CifString.h:124
static const std::string CIF_DDL_CATEGORY_ITEM_STRUCTURE_LIST
Definition: CifString.h:62
static const std::string CIF_DDL_ITEM_LINK_GROUP_ID
Definition: CifString.h:90
static bool IsUnknownValue(const std::string &value)
static const std::string CIF_DDL_CATEGORY_ITEM_TYPE_CONDITIONS
Definition: CifString.h:58
static const std::string CIF_DDL_ITEM_OFFSET
Definition: CifString.h:117
static const std::string CIF_DDL_ITEM_CATEGORY_ID
Definition: CifString.h:83
static const std::string CIF_DDL_CATEGORY_ITEM_METHODS
Definition: CifString.h:59
static const std::string CIF_DDL_ITEM_CODE
Definition: CifString.h:99
static const std::string CIF_DDL_CATEGORY_NDB_ITEM_DESCRIPTION
Definition: CifString.h:64
static const std::string CIF_DDL_ITEM_DESCRIPTION
Definition: CifString.h:106
static const std::string CIF_DDL_CATEGORY_NDB_CATEGORY_DESCRIPTION
Definition: CifString.h:65
Public class that contains CIF string related static methods.
Definition: CifString.h:30
static void GetCategoryFromCifItem(std::string &categoryName, const std::string &itemName)
static const std::string CIF_DDL_ITEM_PRIMITIVE_CODE
Definition: CifString.h:100
static const std::string CIF_DDL_CATEGORY_CATEGORY_EXAMPLES
Definition: CifString.h:47