Matrix Science header

ms_crosslinking_accessions.hpp

00001 /*
00002 ##############################################################################
00003 # file: ms_crosslinking_accessions.hpp                                       #
00004 # 'msparser' toolkit                                                         #
00005 # Encapsulates accessions element in crosslinking.xml                        #
00006 ##############################################################################
00007 # COPYRIGHT NOTICE                                                           #
00008 # Copyright 1998-2019 Matrix Science Limited  All Rights Reserved.           #
00009 #                                                                            #
00010 ##############################################################################
00011  * @(#)$Source: parser/inc/ms_crosslinking_accessions.hpp $
00012  * @(#)$Revision: 9de60354aaae13272cadfa764dbabd92c93c724c | MSPARSER_REL_2_8_1-0-gea32989045 $
00013  * @(#)$Date: 2018-12-20 12:05:22 +0000 $
00014 ##############################################################################
00015  */
00016 
00017 #ifndef MS_CROSSLINKING_ACCESSIONS_HPP
00018 #define MS_CROSSLINKING_ACCESSIONS_HPP
00019 
00020 
00021 #include <string>
00022 
00023 // forward declarations
00024 namespace msparser_internal {
00025     class ms_crosslinking_xmlloader;
00026 }
00027 
00028 namespace matrix_science {
00029     class ms_crosslinking_accession;
00030     class ms_xml_schema; // forward declaration
00031 
00037 
00038 
00043     class MS_MASCOTRESFILE_API ms_crosslinking_accessions: public ms_xml_IValidatable
00044     {
00045         friend class msparser_internal::ms_crosslinking_xmlloader;
00046 
00047     public:
00049         ms_crosslinking_accessions();
00050 
00052         ms_crosslinking_accessions(const ms_crosslinking_accessions& src);
00053 
00055         virtual ~ms_crosslinking_accessions();
00056 
00058         void defaultValues();
00059 
00061         void copyFrom(const ms_crosslinking_accessions* right);
00062 
00063 #ifndef SWIG
00064 
00065         ms_crosslinking_accessions& operator=(const ms_crosslinking_accessions& right);
00066 #endif
00067 
00069         virtual std::string getSchemaType() const;
00070 
00072         virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00073 
00075         virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00076 
00077 
00079         int getNumberOfAccessions() const;
00080 
00082         void clearAccessions();
00083 
00085         void appendAccession(const ms_crosslinking_accession *item);
00086 
00088         const ms_crosslinking_accession * getAccessionByNumber(const int idx) const;
00089 
00091         bool updateAccessionByNumber(const int idx, const ms_crosslinking_accession* accession);
00092 
00094         bool deleteAccessionByNumber(const int idx);
00095 
00097         std::string getAccessionSchemaType() const;
00098 
00099 
00100     private:
00101         typedef std::vector< ms_crosslinking_accession * > accession_vector;
00102         accession_vector _accessions;
00103 
00104     }; // class ms_crosslinking_accessions
00105  // end of config_group
00107 
00108 } // namespace matrix_science
00109 
00110 #endif // MS_CROSSLINKING_ACCESSIONS_HPP
00111 
00112 /*------------------------------- End of File -------------------------------*/
00113 

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