00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef MS_UMOD_AMINOACID_HPP
00018 #define MS_UMOD_AMINOACID_HPP
00019
00020
00021 #include <string>
00022 #include <vector>
00023
00024
00025 namespace msparser_internal {
00026 class ms_umod_xmlloader;
00027 }
00028
00029 namespace matrix_science {
00030
00031 class ms_umod_elemref;
00032 class ms_xml_schema;
00033
00039
00040 class MS_MASCOTRESFILE_API ms_umod_aminoacid: public ms_xml_IValidatable
00041 {
00042 friend class msparser_internal::ms_umod_xmlloader;
00043 friend class ms_umod_configfile;
00044
00045 public:
00047 ms_umod_aminoacid();
00048
00050 ms_umod_aminoacid(const ms_umod_aminoacid& src);
00051
00053 virtual ~ms_umod_aminoacid();
00054
00056 void defaultValues();
00057
00059 void copyFrom(const ms_umod_aminoacid* right);
00060
00061 #ifndef SWIG
00062
00063 ms_umod_aminoacid& operator=(const ms_umod_aminoacid& 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 getNumberOfElemRefs() const;
00077
00079 void clearElemRefs();
00080
00082 void appendElemRef(const ms_umod_elemref *elemref);
00083
00085 const ms_umod_elemref* getElemRef(const int idx) const;
00086
00088 bool updateElemRef(const int idx, const ms_umod_elemref *elemref);
00089
00091 bool deleteElemRef(const int idx);
00092
00094 std::string getElemRefSchemaType() const;
00095
00096
00098 bool haveTitle() const;
00099
00101 std::string getTitle() const;
00102
00104 void setTitle(const char* value);
00105
00107 void dropTitle();
00108
00110 std::string getTitleSchemaType() const;
00111
00112
00114 bool haveThreeLetter() const;
00115
00117 std::string getThreeLetter() const;
00118
00120 void setThreeLetter(const char* value);
00121
00123 void dropThreeLetter();
00124
00126 std::string getThreeLetterSchemaType() const;
00127
00128
00130 bool haveFullName() const;
00131
00133 std::string getFullName() const;
00134
00136 void setFullName(const char* value);
00137
00139 void dropFullName();
00140
00142 std::string getFullNameSchemaType() const;
00143
00144
00146 bool haveAvgeMass() const;
00147
00149 double getAvgeMass() const;
00150
00152 void setAvgeMass(const double value);
00153
00155 void dropAvgeMass();
00156
00158 std::string getAvgeMassSchemaType() const;
00159
00160
00162 bool haveMonoMass() const;
00163
00165 double getMonoMass() const;
00166
00168 void setMonoMass(const double value);
00169
00171 void dropMonoMass();
00172
00174 std::string getMonoMassSchemaType() const;
00175
00176 private:
00177
00178 typedef std::vector< ms_umod_elemref* > elemref_vector;
00179 elemref_vector _elemRefs;
00180
00181 std::string _title;
00182 bool _title_set;
00183
00184 std::string _threeLetter;
00185 bool _threeLetter_set;
00186
00187 std::string _fullName;
00188 bool _fullName_set;
00189
00190 double _avgeMass;
00191 bool _avgeMass_set;
00192
00193 double _monoMass;
00194 bool _monoMass_set;
00195 };
00196
00198
00199 }
00200
00201 #endif // MS_UMOD_AMINOACID_HPP
00202
00203