Matrix Science Mascot Parser toolkit
 
Loading...
Searching...
No Matches
ms_quant_modgroup.hpp
1/*
2##############################################################################
3# file: ms_quant_modgroup.hpp #
4# 'msparser' toolkit #
5# Encapsulates modification_group-element from "quantitation.xml"-file #
6##############################################################################
7# COPYRIGHT NOTICE #
8# Copyright 1998-2006 Matrix Science Limited All Rights Reserved. #
9# #
10##############################################################################
11 * @(#)$Source: parser/inc/ms_quant_modgroup.hpp $
12 * @(#)$Revision: 1b450440f9c97e1e41d0fc6016a27d68951d4532 | MSPARSER_REL_3_0_0-2024-09-24-0-g93ebaeb4f4 $
13 * @(#)$Date: 2018-07-30 16:23:53 +0100 $
14##############################################################################
15 */
16
17#ifndef MS_QUANT_MODGROUP_HPP
18#define MS_QUANT_MODGROUP_HPP
19
20
21#include <string>
22#include <vector>
23
24// forward declarations
25namespace msparser_internal {
26 class ms_quant_xmlloader;
27}
28
29namespace matrix_science {
30
31 class ms_quant_unmodified; // forward declaration
32 class ms_quant_localdef; // forward declaration
33 class ms_xml_schema; // forward declaration
34
41
45 class MS_MASCOTRESFILE_API ms_quant_modgroup: public ms_xml_IValidatable
46 {
47 friend class msparser_internal::ms_quant_xmlloader;
48
49 public:
52
55
57 virtual ~ms_quant_modgroup();
58
60 void defaultValues();
61
63 void copyFrom(const ms_quant_modgroup* right);
64
65#ifndef SWIG
67 ms_quant_modgroup& operator=(const ms_quant_modgroup& right);
68#endif
70 virtual std::string getSchemaType() const;
71
73 virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
74
76 virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
77
78
80 int getNumberOfModFiles() const;
81
83 void clearModFiles();
84
86 void appendModFile(const char* mod);
87
89 int findModFile(const char* mod) const;
90
92 std::string getModFile(const int idx) const;
93
95 bool deleteModFile(const int idx);
96
98 std::string getModFileSchemaType() const;
99
100
102 int getNumberOfUnmodified() const;
103
105 void clearUnmodified();
106
108 void appendUnmodified(const ms_quant_unmodified* unmodified);
109
111 const ms_quant_unmodified* getUnmodified(const int idx) const;
112
114 bool updateUnmodified(const int idx, const ms_quant_unmodified* unmodified);
115
117 bool deleteUnmodified(const int idx);
118
120 std::string getUnmodifiedSchemaType() const;
121
122
124 int getNumberOfLocalDefinitions() const;
125
127 void clearLocalDefinitions();
128
130 void appendLocalDefinition(const ms_quant_localdef* localdef);
131
133 const ms_quant_localdef* getLocalDefinition(const int idx) const;
134
136 bool updateLocalDefinition(const int idx, const ms_quant_localdef* localdef);
137
139 bool deleteLocalDefinition(const int idx);
140
142 std::string getLocalDefinitionSchemaType() const;
143
144
146 bool haveName() const;
147
149 std::string getName() const;
150
152 void setName(const char* value);
153
155 void dropName();
156
158 std::string getNameSchemaType() const;
159
160
162 bool haveMode() const;
163
165 std::string getMode() const;
166
168 void setMode(const char* value);
169
171 void dropMode();
172
174 std::string getModeSchemaType() const;
175
176
178 bool haveRequired() const;
179
181 bool isRequired() const;
182
184 void setRequired(bool value);
185
187 void dropRequired();
188
190 std::string getRequiredSchemaType() const;
191
192 private:
193
194 typedef std::vector< std::string > modfile_vector;
195 modfile_vector _modFiles;
196
197 typedef std::vector< ms_quant_unmodified* > unmodified_vector;
198 unmodified_vector _unmodified;
199
200 typedef std::vector< ms_quant_localdef* > localdef_vector;
201 localdef_vector _localdefs;
202
203 std::string _name;
204 bool _name_set;
205
206 std::string _mode;
207 bool _mode_set;
208
209 bool m_required;
210 bool m_required_set;
211
212 }; // class ms_quant_modgroup
213 // end of config_group
215
216} // namespace matrix_science
217
218#endif // MS_QUANT_MODGROUP_HPP
219
220/*------------------------------- End of File -------------------------------*/
221
Represents a local_definition element.
Definition: ms_quant_localdef.hpp:42
An object of this class represent a single modification group element in quantitation....
Definition: ms_quant_modgroup.hpp:46
Describes an unmodified element in quantitation.xml.
Definition: ms_quant_unmodified.hpp:39