00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef MS_CROSSLINKING_ACCESSIONS_HPP
00018 #define MS_CROSSLINKING_ACCESSIONS_HPP
00019
00020
00021 #include <string>
00022
00023
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;
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 };
00105
00107
00108 }
00109
00110 #endif // MS_CROSSLINKING_ACCESSIONS_HPP
00111
00112
00113