Matrix Science Mascot Parser toolkit
 
Loading...
Searching...
No Matches
ms_crosslinking_linker.hpp
1/*
2##############################################################################
3# file: ms_crosslinking_linker.hpp #
4# 'msparser' toolkit #
5# Encapsulates linker element in crosslinking.xml #
6##############################################################################
7# COPYRIGHT NOTICE #
8# Copyright 1998-2019 Matrix Science Limited All Rights Reserved. #
9# #
10##############################################################################
11 * @(#)$Source: parser/inc/ms_crosslinking_linker.hpp $
12 * @(#)$Revision: 5a6646e705a1dce6cb8493dec184ed46d0bd6c08 | MSPARSER_REL_3_0_0-2024-09-24-0-g93ebaeb4f4 $
13 * @(#)$Date: 2019-10-18 16:39:04 +0100 $
14##############################################################################
15 */
16
17#ifndef MS_CROSSLINKING_LINKER_HPP
18#define MS_CROSSLINKING_LINKER_HPP
19
20
21#include <string>
22
23// forward declarations
24namespace msparser_internal {
25 class ms_crosslinking_xmlloader;
26}
27
28namespace matrix_science {
29 class ms_crosslinking_monolink;
30 class ms_crosslinking_does_not_pair_with;
31 class ms_xml_schema; // forward declaration
32
39
56 class MS_MASCOTRESFILE_API ms_crosslinking_linker: public ms_xml_IValidatable
57 {
58 friend class msparser_internal::ms_crosslinking_xmlloader;
59
60 public:
63
66
69
71 void defaultValues();
72
74 void copyFrom(const ms_crosslinking_linker* right);
75
76#ifndef SWIG
78 ms_crosslinking_linker& operator=(const ms_crosslinking_linker& right);
79#endif
80
82 virtual std::string getSchemaType() const;
83
85 virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
86
88 virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
89
91 bool haveModFileName() const;
92
94 std::string getModFileName() const;
95
97 void setModFileName(const char* value);
98
100 void dropModFileName();
101
103 std::string getModFileNameSchemaType() const;
104
105
107 int getNumberOfMonoLinks() const;
108
110 void clearMonoLinks();
111
113 void appendMonoLink(const ms_crosslinking_monolink *item);
114
116 const ms_crosslinking_monolink * getMonoLinkByNumber(const int idx) const;
117
119 bool updateMonoLinkByNumber(const int idx, const ms_crosslinking_monolink* monolink);
120
122 bool deleteMonoLinkByNumber(const int idx);
123
125 std::string getMonoLinkSchemaType() const;
126
127
129 int getNumberOfDoesNotPairWiths() const;
130
132 void clearDoesNotPairWiths();
133
135 void appendDoesNotPairWith(const ms_crosslinking_does_not_pair_with *item);
136
138 const ms_crosslinking_does_not_pair_with * getDoesNotPairWithByNumber(const int idx) const;
139
141 bool updateDoesNotPairWithByNumber(const int idx, const ms_crosslinking_does_not_pair_with* does_not_pair_with);
142
144 bool deleteDoesNotPairWithByNumber(const int idx);
145
147 std::string getDoesNotPairWithSchemaType() const;
148
149 private:
150 typedef std::vector< ms_crosslinking_monolink * > monolink_vector;
151 monolink_vector _monolinks;
152
153 typedef std::vector< ms_crosslinking_does_not_pair_with * > does_not_pair_with_vector;
154 does_not_pair_with_vector _does_not_pair_withs;
155
156 std::string _modFileName;
157 bool _modFileName_set;
158
159 }; // class ms_crosslinking_linker
160 // end of config_group
162
163} // namespace matrix_science
164
165#endif // MS_CROSSLINKING_LINKER_HPP
166
167/*------------------------------- End of File -------------------------------*/
168
mxm:does_not_pair_with element in crosslinking.xml
Definition: ms_crosslinking_does_not_pair_with.hpp:38
Linker element in crosslinking.xml
Definition: ms_crosslinking_linker.hpp:57