Matrix Science header

ms_quant_localdef.hpp

00001 /*
00002 ##############################################################################
00003 # file: ms_quant_localdef.hpp                                                #
00004 # 'msparser' toolkit                                                         #
00005 # Encapsulates \c local_definition 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_localdef.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_LOCALDEF_HPP
00018 #define MS_QUANT_LOCALDEF_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_specificity; // forward declaration
00032     class ms_quant_composition; // forward declaration
00033     class ms_xml_schema; // forward declaration
00034 
00040 
00041     class MS_MASCOTRESFILE_API ms_quant_localdef: public ms_xml_IValidatable
00042     {
00043         friend class msparser_internal::ms_quant_xmlloader;
00044 
00045     public:
00047         ms_quant_localdef();
00048 
00050         ms_quant_localdef(const ms_quant_localdef& src);
00051 
00053         virtual ~ms_quant_localdef();
00054 
00056         void defaultValues();
00057 
00059         void copyFrom(const ms_quant_localdef* right);
00060 
00061 #ifndef SWIG
00062 
00063         ms_quant_localdef& operator=(const ms_quant_localdef& right);
00064 #endif
00065 
00066         virtual std::string getSchemaType() const;
00067 
00069         virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00070 
00072         virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00073 
00074 
00076         int getNumberOfSpecificities() const;
00077 
00079         void clearSpecificities();
00080 
00082         void appendSpecificity(const ms_quant_specificity *specificity);
00083 
00085         const ms_quant_specificity * getSpecificity(const int idx) const;
00086 
00088         bool updateSpecificity(const int idx, const ms_quant_specificity* specificity);
00089 
00091         bool deleteSpecificity(const int idx);
00092 
00094         std::string getSpecificitySchemaType() const;
00095 
00096 
00098         bool haveDelta() const;
00099 
00101         const ms_quant_composition* getDelta() const;
00102 
00104         void setDelta(const ms_quant_composition *delta);
00105 
00107         void dropDelta();
00108 
00110         std::string getDeltaSchemaType() const;
00111 
00112 
00114         int getNumberOfIgnores() const;
00115 
00117         void clearIgnores();
00118 
00120         void appendIgnore(const ms_quant_composition *ignore);
00121 
00123         const ms_quant_composition * getIgnore(const int idx) const;
00124 
00126         bool updateIgnore(const int idx, const ms_quant_composition* ignore);
00127 
00129         bool deleteIgnore(const int idx);
00130 
00132         std::string getIgnoreSchemaType() const;
00133 
00134 
00136         bool haveTitle() const;
00137 
00139         std::string getTitle() const;
00140 
00142         void setTitle(const char* value);
00143 
00145         void dropTitle();
00146 
00148         std::string getTitleSchemaType() const;
00149 
00150 
00151     private:
00152         // elements
00153         typedef std::vector< ms_quant_specificity* > specificity_vector;
00154         specificity_vector _specificities;
00155 
00156         ms_quant_composition* _pDelta;
00157         bool _delta_set;
00158 
00159         typedef std::vector< ms_quant_composition* > composition_vector;
00160         composition_vector _ignores;
00161 
00162         // attributes
00163         std::string _title;
00164         bool _title_set;
00165 
00166     }; // class ms_quant_localdef
00167  // end of config_group
00169 
00170 } // namespace matrix_science
00171 
00172 #endif // MS_QUANT_LOCALDEF_HPP
00173 
00174 /*------------------------------- End of File -------------------------------*/

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