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
31{
32public:
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;
46 static const std::string CIF_DDL_CATEGORY_CATEGORY;
47 static const std::string CIF_DDL_CATEGORY_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;
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;
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
Public class that contains CIF string related static methods.
Definition: CifString.h:31
static const std::string CIF_DDL_ITEM_CHILD_NAME
Definition: CifString.h:87
static const std::string CIF_DDL_ITEM_CASE
Definition: CifString.h:108
static const std::string CIF_DDL_CATEGORY_ITEM_LINKED
Definition: CifString.h:43
static void MakeCifItems(std::vector< std::string > &cifItems, const std::string &categoryName, const std::vector< std::string > &attribsNames)
static const std::string CIF_DDL_CATEGORY_CATEGORY_GROUP
Definition: CifString.h:50
static const std::string CIF_DDL_ITEM_OFFSET
Definition: CifString.h:117
static void GetItemFromCifItem(std::string &keyword, const std::string &itemName)
static const std::string CIF_DDL_ITEM_METHOD_ID
Definition: CifString.h:85
static const std::string CIF_DDL_CATEGORY_CATEGORY_GROUP_LIST
Definition: CifString.h:51
static const std::string CIF_DDL_ITEM_SUB_CATEGORY_ID
Definition: CifString.h:84
static const std::string CIF_DDL_ITEM_LINK_GROUP_ID
Definition: CifString.h:90
static const std::string CIF_DDL_ITEM_ALIAS_NAME
Definition: CifString.h:94
static const std::string CIF_DDL_CATEGORY_NDB_ITEM_EXAMPLES
Definition: CifString.h:67
static const std::string CIF_DDL_ITEM_PARENT_CATEGORY_ID
Definition: CifString.h:89
static const std::string CIF_DDL_CATEGORY_SUB_CATEGORY
Definition: CifString.h:53
static const std::string CIF_DDL_ITEM_CATEGORY_ID
Definition: CifString.h:83
static const std::string CIF_DDL_CATEGORY_DATABLOCK_METHODS
Definition: CifString.h:41
static const std::string CIF_DDL_ITEM_DETAIL
Definition: CifString.h:110
static const std::string CIF_DDL_ITEM_REVISION
Definition: CifString.h:123
static void MakeCifItem(std::string &cifItem, const std::string &categoryName, const std::string &itemName)
static const std::string CIF_DDL_CATEGORY_ITEM_UNITS
Definition: CifString.h:77
static const std::string CIF_DDL_CATEGORY_ITEM_STRUCTURE_LIST
Definition: CifString.h:62
static const std::string CIF_DDL_ITEM_NDB_DESCRIPTION
Definition: CifString.h:107
static const std::string CIF_DDL_CATEGORY_DICTIONARY
Definition: CifString.h:75
static const std::string CIF_DDL_CATEGORY_ITEM_DEFAULT
Definition: CifString.h:73
static const char JOIN_CHAR
Definition: CifString.h:34
static const std::string CIF_DDL_CATEGORY_NDB_ITEM_ENUMERATION
Definition: CifString.h:72
static const std::string CIF_DDL_ITEM_DICTIONARY
Definition: CifString.h:95
static const std::string CIF_DDL_ITEM_PRIMITIVE_CODE
Definition: CifString.h:100
static const std::string CIF_DDL_CATEGORY_ITEM_SUB_CATEGORY
Definition: CifString.h:56
static const std::string CIF_DDL_ITEM_ID
Definition: CifString.h:82
static const std::string CIF_DDL_CATEGORY_SUB_CATEGORY_EXAMPLES
Definition: CifString.h:54
static const std::string CIF_DDL_CATEGORY_ITEM_RANGE
Definition: CifString.h:70
static void GetCategoryFromCifItem(std::string &categoryName, const std::string &itemName)
static const std::string UnknownValue
Definition: CifString.h:128
static const char NOT_APPROPRIATE_CHAR
Definition: CifString.h:37
static const std::string CIF_DDL_CATEGORY_ITEM_DEPENDENT
Definition: CifString.h:68
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_ITEM_FUNCTION_CODE
Definition: CifString.h:116
static const std::string CIF_DDL_ITEM_CONTEXT
Definition: CifString.h:92
static const std::string CIF_DDL_ITEM_VERSION
Definition: CifString.h:97
static const std::string CIF_DDL_ITEM_INLINE
Definition: CifString.h:124
static const std::string CIF_DDL_CATEGORY_ITEM_EXAMPLES
Definition: CifString.h:66
static const std::string CIF_DDL_ITEM_LANGUAGE
Definition: CifString.h:125
static const std::string CIF_DDL_CATEGORY_ITEM_UNITS_LIST
Definition: CifString.h:78
static const std::string CIF_DDL_ITEM_MINIMUM
Definition: CifString.h:112
static const std::string CIF_DDL_ITEM_MANDATORY_CODE
Definition: CifString.h:109
static const std::string CIF_DDL_CATEGORY_DATABLOCK
Definition: CifString.h:40
static const std::string CIF_DDL_ITEM_TITLE
Definition: CifString.h:96
static const std::string CIF_DDL_ITEM_DATABLOCK_ID
Definition: CifString.h:105
static const std::string CIF_DDL_ITEM_LABEL
Definition: CifString.h:91
static const std::string CIF_DDL_CATEGORY_PDBX_ITEM_LINKED_GROUP
Definition: CifString.h:44
static const std::string CIF_DDL_CATEGORY_NDB_CATEGORY_DESCRIPTION
Definition: CifString.h:65
static const std::string InapplicableValue
Definition: CifString.h:129
static const std::string CIF_DDL_ITEM_FACTOR
Definition: CifString.h:119
static bool IsSpecialChar(const char charValue)
static const char NULL_CHAR
Definition: CifString.h:36
static const char PREFIX_CHAR
Definition: CifString.h:33
static const std::string CIF_DDL_ITEM_TO_CODE
Definition: CifString.h:121
static const std::string CIF_DDL_CATEGORY_ITEM_UNITS_CONVERSION
Definition: CifString.h:79
static const std::string CIF_DDL_ITEM_UPDATE
Definition: CifString.h:122
static bool IsSpecialFirstChar(const char charValue)
static const std::string CIF_DDL_ITEM_DEPENDENT_NAME
Definition: CifString.h:114
static const std::string CIF_DDL_ITEM_FROM_CODE
Definition: CifString.h:120
static const std::string CIF_DDL_CATEGORY_NDB_CATEGORY_EXAMPLES
Definition: CifString.h:48
static const std::string CIF_DDL_CATEGORY_CATEGORY_KEY
Definition: CifString.h:49
static const std::string CIF_DDL_CATEGORY_ITEM_RELATED
Definition: CifString.h:69
static const std::string CIF_DDL_CATEGORY_CATEGORY_METHODS
Definition: CifString.h:52
static const std::string CIF_DDL_CATEGORY_ITEM_STRUCTURE
Definition: CifString.h:61
static const std::string CIF_DDL_ITEM_VALUE
Definition: CifString.h:113
static bool IsEmptyValue(const std::string &value)
static const std::string CIF_DDL_CATEGORY_DICTIONARY_HISTORY
Definition: CifString.h:76
static const std::string CIF_DDL_ITEM_INDEX
Definition: CifString.h:103
static const std::string CIF_DDL_ITEM_OPERATOR
Definition: CifString.h:118
static const std::string CIF_DDL_ITEM_ORGANIZATION
Definition: CifString.h:102
static const std::string CIF_DDL_CATEGORY_CATEGORY_EXAMPLES
Definition: CifString.h:47
static const std::string CIF_DDL_CATEGORY_SUB_CATEGORY_METHODS
Definition: CifString.h:55
static const std::string CIF_DDL_CATEGORY_PDBX_ITEM_LINKED_GROUP_LIST
Definition: CifString.h:45
static bool IsUnknownValue(const std::string &value)
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_ITEM_METHODS
Definition: CifString.h:59
static const std::string CIF_DDL_CATEGORY_ITEM_TYPE_CONDITIONS
Definition: CifString.h:58
static const std::string CIF_DDL_CATEGORY_ITEM
Definition: CifString.h:42
static const std::string CIF_DDL_ITEM_PARENT_NAME
Definition: CifString.h:86
static const std::string CIF_DDL_ITEM_CONSTRUCT
Definition: CifString.h:101
static const std::string CIF_DDL_ITEM_DIMENSION
Definition: CifString.h:104
static const std::string CIF_DDL_ITEM_CODE
Definition: CifString.h:99
static const std::string CIF_DDL_CATEGORY_METHOD_LIST
Definition: CifString.h:80
static const std::string CIF_DDL_CATEGORY_CATEGORY
Definition: CifString.h:46
static const std::string CIF_DDL_ITEM_PARENT_ID
Definition: CifString.h:126
static const std::string CIF_DDL_CATEGORY_ITEM_ENUMERATION
Definition: CifString.h:71
static const std::string CIF_DDL_ITEM_RELATED_NAME
Definition: CifString.h:115
static const std::string CIF_DDL_ITEM_CHILD_CATEGORY_ID
Definition: CifString.h:88
static const std::string CIF_DDL_CATEGORY_ITEM_ALIASES
Definition: CifString.h:74
static const std::string CIF_DDL_CATEGORY_ITEM_TYPE_LIST
Definition: CifString.h:60
static const std::string CIF_DDL_ITEM_MAXIMUM
Definition: CifString.h:111
static const std::string CIF_DDL_CATEGORY_ITEM_TYPE
Definition: CifString.h:57
static const std::string CIF_DDL_CATEGORY_BLOCK
Definition: CifString.h:39
static const std::string CIF_DDL_CATEGORY_ITEM_DESCRIPTION
Definition: CifString.h:63