Matrix Science header

ms_crosslinking_method.hpp

00001 /*
00002 ##############################################################################
00003 # file: ms_crosslinking_method.hpp                                           #
00004 # 'msparser' toolkit                                                         #
00005 # Represents a method object in crosslinking.xml file                        #
00006 ##############################################################################
00007 # COPYRIGHT NOTICE                                                           #
00008 # Copyright 1998-2019 Matrix Science Limited  All Rights Reserved.           #
00009 #                                                                            #
00010 ##############################################################################
00011  * @(#)$Source: parser/inc/ms_crosslinking_method.hpp $
00012  * @(#)$Revision: 20373858f9250b373e137e3d5de4992e9e7d19e6 | MSPARSER_REL_2_8_1-0-gea32989045 $
00013  * @(#)$Date: 2019-01-08 14:42:05 +0000 $
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 // forward declarations
00025 namespace msparser_internal {
00026     class ms_crosslinking_xmlloader;
00027 }
00028 
00029 namespace matrix_science {
00030     class ms_crosslinking_linkers; // forward declaration
00031     class ms_crosslinking_accessions; // forward declaration
00032     class ms_crosslinking_scope; // forward declaration
00033     class ms_crosslinking_filters; // forward declaration
00034     class ms_crosslinking_settings; // forward declaration
00035     class ms_crosslinking_configfile; // forward declaration
00036     class ms_xml_schema; // forward declaration
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     }; // class ms_crosslinking_method
00230  // end of config_group
00232 
00233 } // namespace matrix_science
00234 
00235 #endif // MS_CROSSLINKING_METHOD_HPP
00236 
00237 /*------------------------------- End of File -------------------------------*/
00238     

Copyright © 2022 Matrix Science Ltd.  All Rights Reserved. Generated on Thu Mar 31 2022 01:12:29