Matrix Science header

ms_quant_modgroup.hpp

00001 /*
00002 ##############################################################################
00003 # file: ms_quant_modgroup.hpp                                                #
00004 # 'msparser' toolkit                                                         #
00005 # Encapsulates modification_group-element from "quantitation.xml"-file       #
00006 ##############################################################################
00007 # COPYRIGHT NOTICE                                                           #
00008 # Copyright 1998-2006 Matrix Science Limited  All Rights Reserved.           #
00009 #                                                                            #
00010 ##############################################################################
00011  * @(#)$Source: parser/inc/ms_quant_modgroup.hpp $
00012  * @(#)$Revision: 1b450440f9c97e1e41d0fc6016a27d68951d4532 | MSPARSER_REL_2_8_1-0-gea32989045 $
00013  * @(#)$Date: 2018-07-30 16:23:53 +0100 $
00014 ##############################################################################
00015  */
00016 
00017 #ifndef MS_QUANT_MODGROUP_HPP
00018 #define MS_QUANT_MODGROUP_HPP
00019 
00020 
00021 #include <string>
00022 #include <vector>
00023 
00024 // forward declarations
00025 namespace msparser_internal {
00026     class ms_quant_xmlloader;
00027 }
00028 
00029 namespace matrix_science {
00030 
00031     class ms_quant_unmodified; // forward declaration
00032     class ms_quant_localdef; // forward declaration
00033     class ms_xml_schema; // forward declaration
00034 
00040 
00041 
00045     class MS_MASCOTRESFILE_API ms_quant_modgroup: public ms_xml_IValidatable
00046     {
00047         friend class msparser_internal::ms_quant_xmlloader;
00048 
00049     public:
00051         ms_quant_modgroup();
00052 
00054         ms_quant_modgroup(const ms_quant_modgroup& src);
00055 
00057         virtual ~ms_quant_modgroup();
00058 
00060         void defaultValues();
00061 
00063         void copyFrom(const ms_quant_modgroup* right);
00064 
00065 #ifndef SWIG
00066 
00067         ms_quant_modgroup& operator=(const ms_quant_modgroup& right);
00068 #endif
00069 
00070         virtual std::string getSchemaType() const;
00071 
00073         virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00074 
00076         virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00077 
00078 
00080         int getNumberOfModFiles() const;
00081 
00083         void clearModFiles();
00084 
00086         void appendModFile(const char* mod);
00087 
00089         int findModFile(const char* mod) const;
00090 
00092         std::string getModFile(const int idx) const;
00093 
00095         bool deleteModFile(const int idx);
00096 
00098         std::string getModFileSchemaType() const;
00099 
00100 
00102         int getNumberOfUnmodified() const;
00103 
00105         void clearUnmodified();
00106 
00108         void appendUnmodified(const ms_quant_unmodified* unmodified);
00109 
00111         const ms_quant_unmodified* getUnmodified(const int idx) const;
00112 
00114         bool updateUnmodified(const int idx, const ms_quant_unmodified* unmodified);
00115 
00117         bool deleteUnmodified(const int idx);
00118 
00120         std::string getUnmodifiedSchemaType() const;
00121 
00122 
00124         int getNumberOfLocalDefinitions() const;
00125 
00127         void clearLocalDefinitions();
00128 
00130         void appendLocalDefinition(const ms_quant_localdef* localdef);
00131 
00133         const ms_quant_localdef* getLocalDefinition(const int idx) const;
00134 
00136         bool updateLocalDefinition(const int idx, const ms_quant_localdef* localdef);
00137 
00139         bool deleteLocalDefinition(const int idx);
00140 
00142         std::string getLocalDefinitionSchemaType() const;
00143 
00144 
00146         bool haveName() const;
00147 
00149         std::string getName() const;
00150 
00152         void setName(const char* value);
00153 
00155         void dropName();
00156 
00158         std::string getNameSchemaType() const;
00159 
00160 
00162         bool haveMode() const;
00163 
00165         std::string getMode() const;
00166 
00168         void setMode(const char* value);
00169 
00171         void dropMode();
00172 
00174         std::string getModeSchemaType() const;
00175 
00176 
00178         bool haveRequired() const;
00179 
00181         bool isRequired() const;
00182 
00184         void setRequired(bool value);
00185 
00187         void dropRequired();
00188 
00190         std::string getRequiredSchemaType() const;
00191 
00192     private:
00193 
00194         typedef std::vector< std::string > modfile_vector;
00195         modfile_vector _modFiles;
00196 
00197         typedef std::vector< ms_quant_unmodified* > unmodified_vector;
00198         unmodified_vector _unmodified;
00199 
00200         typedef std::vector< ms_quant_localdef* > localdef_vector;
00201         localdef_vector _localdefs;
00202 
00203         std::string _name;
00204         bool _name_set;
00205 
00206         std::string _mode;
00207         bool _mode_set;
00208 
00209         bool m_required;
00210         bool m_required_set;
00211 
00212     }; // class ms_quant_modgroup
00213  // end of config_group
00215 
00216 } // namespace matrix_science
00217 
00218 #endif // MS_QUANT_MODGROUP_HPP
00219 
00220 /*------------------------------- End of File -------------------------------*/
00221 

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