Matrix Science header

ms_crosslinking_linker.hpp

00001 /*
00002 ##############################################################################
00003 # file: ms_crosslinking_linker.hpp                                           #
00004 # 'msparser' toolkit                                                         #
00005 # Encapsulates linker 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_linker.hpp $
00012  * @(#)$Revision: 5a6646e705a1dce6cb8493dec184ed46d0bd6c08 | MSPARSER_REL_2_8_1-0-gea32989045 $
00013  * @(#)$Date: 2019-10-18 16:39:04 +0100 $
00014 ##############################################################################
00015  */
00016 
00017 #ifndef MS_CROSSLINKING_LINKER_HPP
00018 #define MS_CROSSLINKING_LINKER_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_monolink;
00030     class ms_crosslinking_does_not_pair_with;
00031     class ms_xml_schema; // forward declaration
00032 
00038 
00039 
00056     class MS_MASCOTRESFILE_API ms_crosslinking_linker: public ms_xml_IValidatable
00057     {
00058         friend class msparser_internal::ms_crosslinking_xmlloader;
00059 
00060     public:
00062         ms_crosslinking_linker();
00063 
00065         ms_crosslinking_linker(const ms_crosslinking_linker& src);
00066 
00068         virtual ~ms_crosslinking_linker();
00069 
00071         void defaultValues();
00072 
00074         void copyFrom(const ms_crosslinking_linker* right);
00075 
00076 #ifndef SWIG
00077 
00078         ms_crosslinking_linker& operator=(const ms_crosslinking_linker& right);
00079 #endif
00080 
00082         virtual std::string getSchemaType() const;
00083 
00085         virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00086 
00088         virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00089 
00091         bool haveModFileName() const;
00092 
00094         std::string getModFileName() const;
00095 
00097         void setModFileName(const char* value);
00098 
00100         void dropModFileName();
00101 
00103         std::string getModFileNameSchemaType() const;
00104 
00105 
00107         int getNumberOfMonoLinks() const;
00108 
00110         void clearMonoLinks();
00111 
00113         void appendMonoLink(const ms_crosslinking_monolink *item);
00114 
00116         const ms_crosslinking_monolink * getMonoLinkByNumber(const int idx) const;
00117 
00119         bool updateMonoLinkByNumber(const int idx, const ms_crosslinking_monolink* monolink);
00120 
00122         bool deleteMonoLinkByNumber(const int idx);
00123 
00125         std::string getMonoLinkSchemaType() const;
00126 
00127 
00129         int getNumberOfDoesNotPairWiths() const;
00130 
00132         void clearDoesNotPairWiths();
00133 
00135         void appendDoesNotPairWith(const ms_crosslinking_does_not_pair_with *item);
00136 
00138         const ms_crosslinking_does_not_pair_with * getDoesNotPairWithByNumber(const int idx) const;
00139 
00141         bool updateDoesNotPairWithByNumber(const int idx, const ms_crosslinking_does_not_pair_with* does_not_pair_with);
00142 
00144         bool deleteDoesNotPairWithByNumber(const int idx);
00145 
00147         std::string getDoesNotPairWithSchemaType() const;
00148 
00149     private:
00150         typedef std::vector< ms_crosslinking_monolink * > monolink_vector;
00151         monolink_vector _monolinks;
00152 
00153         typedef std::vector< ms_crosslinking_does_not_pair_with * > does_not_pair_with_vector;
00154         does_not_pair_with_vector _does_not_pair_withs;
00155 
00156         std::string _modFileName;
00157         bool _modFileName_set;
00158 
00159     }; // class ms_crosslinking_linker
00160  // end of config_group
00162 
00163 } // namespace matrix_science
00164 
00165 #endif // MS_CROSSLINKING_LINKER_HPP
00166 
00167 /*------------------------------- End of File -------------------------------*/
00168 

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