00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef MS_UMOD_ELEMENT_HPP
00018 #define MS_UMOD_ELEMENT_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_xml_schema;
00032
00038
00039 class MS_MASCOTRESFILE_API ms_umod_element: public ms_xml_IValidatable
00040 {
00041 friend class msparser_internal::ms_umod_xmlloader;
00042 friend class ms_umod_configfile;
00043
00044 public:
00046 ms_umod_element();
00047
00049 ms_umod_element(const ms_umod_element& src);
00050
00052 virtual ~ms_umod_element();
00053
00055 void defaultValues();
00056
00058 void copyFrom(const ms_umod_element* right);
00059
00060 #ifndef SWIG
00061
00062 ms_umod_element& operator=(const ms_umod_element& right);
00063 #endif
00064
00065 virtual std::string getSchemaType() const;
00066
00068 virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00069
00071 virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00072
00073
00075 bool haveTitle() const;
00076
00078 std::string getTitle() const;
00079
00081 void setTitle(const char* value);
00082
00084 void dropTitle();
00085
00087 std::string getTitleSchemaType() const;
00088
00089
00091 bool haveFullName() const;
00092
00094 std::string getFullName() const;
00095
00097 void setFullName(const char* value);
00098
00100 void dropFullName();
00101
00103 std::string getFullNameSchemaType() const;
00104
00105
00107 bool haveAvgeMass() const;
00108
00110 std::string getAvgeMass() const;
00111
00113 double getAvgeMassAsNumber() const;
00114
00116 bool setAvgeMass(const char* value, ms_errs* err = NULL);
00117
00119 void dropAvgeMass();
00120
00122 std::string getAvgeMassSchemaType() const;
00123
00124
00126 bool haveMonoMass() const;
00127
00129 std::string getMonoMass() const;
00130
00132 double getMonoMassAsNumber() const;
00133
00135 bool setMonoMass(const char* value, ms_errs* err = NULL);
00136
00138 void dropMonoMass();
00139
00141 std::string getMonoMassSchemaType() const;
00142
00143 private:
00144 std::string _title;
00145 bool _title_set;
00146
00147 std::string _fullName;
00148 bool _fullName_set;
00149
00150 std::string _avgeMass;
00151 double _avgeMassDouble;
00152 bool _avgeMass_set;
00153
00154 std::string _monoMass;
00155 double _monoMassDouble;
00156 bool _monoMass_set;
00157 };
00158
00160
00161 }
00162
00163 #endif // MS_UMOD_ELEMENT_HPP
00164
00165