00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef MS_CROSSLINKING_METHOD_HPP
00018 #define MS_CROSSLINKING_METHOD_HPP
00019
00020
00021 #include <string>
00022 #include <vector>
00023
00024
00025 namespace msparser_internal {
00026 class ms_crosslinking_xmlloader;
00027 }
00028
00029 namespace matrix_science {
00030 class ms_crosslinking_linkers;
00031 class ms_crosslinking_accessions;
00032 class ms_crosslinking_scope;
00033 class ms_crosslinking_filters;
00034 class ms_crosslinking_settings;
00035 class ms_crosslinking_configfile;
00036 class ms_xml_schema;
00037
00043
00044
00049 class MS_MASCOTRESFILE_API ms_crosslinking_method: public ms_xml_IValidatable
00050 {
00051 friend class msparser_internal::ms_crosslinking_xmlloader;
00052 friend class ms_crosslinking_configfile;
00053
00054 public:
00056 ms_crosslinking_method();
00057
00059 ms_crosslinking_method(const ms_crosslinking_method& src);
00060
00062 virtual ~ms_crosslinking_method();
00063
00065 void defaultValues();
00066
00068 void copyFrom(const ms_crosslinking_method* right);
00069
00070 #ifndef SWIG
00071
00072 ms_crosslinking_method& operator=(const ms_crosslinking_method& right);
00073 #endif
00074
00076 virtual std::string getSchemaType() const;
00077
00079 virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00080
00082 virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00083
00084
00086 bool haveName() const;
00087
00089 std::string getName() const;
00090
00092 void setName(const char* value);
00093
00095 void dropName();
00096
00098 std::string getNameSchemaType() const;
00099
00100
00102 bool haveDescription() const;
00103
00105 std::string getDescription() const;
00106
00108 void setDescription(const char* value);
00109
00111 void dropDescription();
00112
00114 std::string getDescriptionSchemaType() const;
00115
00116
00118 bool haveStrategy() const;
00119
00121 std::string getStrategy() const;
00122
00124 void setStrategy(const char* value);
00125
00127 void dropStrategy();
00128
00130 std::string getStrategySchemaType() const;
00131
00132
00134 bool haveLinkers() const;
00135
00137 const ms_crosslinking_linkers* getLinkers() const;
00138
00140 void setLinkers(const ms_crosslinking_linkers* linkers);
00141
00143 void dropLinkers();
00144
00146 std::string getLinkersSchemaType() const;
00147
00148
00150 bool haveAccessions() const;
00151
00153 const ms_crosslinking_accessions* getAccessions() const;
00154
00156 void setAccessions(const ms_crosslinking_accessions* accessions);
00157
00159 void dropAccessions();
00160
00162 std::string getAccessionsSchemaType() const;
00163
00164
00166 bool haveScope() const;
00167
00169 const ms_crosslinking_scope* getScope() const;
00170
00172 void setScope(const ms_crosslinking_scope* scope);
00173
00175 void dropScope();
00176
00178 std::string getScopeSchemaType() const;
00179
00180
00182 bool haveFilters() const;
00183
00185 const ms_crosslinking_filters* getFilters() const;
00186
00188 void setFilters(const ms_crosslinking_filters* filters);
00189
00191 void dropFilters();
00192
00194 std::string getFiltersSchemaType() const;
00195
00196
00198 bool haveSettings() const;
00199
00201 const ms_crosslinking_settings* getSettings() const;
00202
00204 void setSettings(const ms_crosslinking_settings* settings);
00205
00207 void dropSettings();
00208
00210 std::string getSettingsSchemaType() const;
00211
00212
00213 private:
00214 std::string _name;
00215 bool _name_set;
00216
00217 std::string _strategy;
00218 bool _strategy_set;
00219
00220 std::string _description;
00221 bool _description_set;
00222
00223 ms_crosslinking_linkers *_pLinkers;
00224 ms_crosslinking_accessions *_pAccessions;
00225 ms_crosslinking_scope *_pScope;
00226 ms_crosslinking_filters *_pFilters;
00227 ms_crosslinking_settings *_pSettings;
00228
00229 };
00230
00232
00233 }
00234
00235 #endif // MS_CROSSLINKING_METHOD_HPP
00236
00237
00238