ome-xml  5.2.0
StructuredAnnotations.h
1 /*
2  * #%L
3  * OME-XML C++ library for working with OME-XML metadata structures.
4  * %%
5  * Copyright © 2006 - 2016 Open Microscopy Environment:
6  * - Massachusetts Institute of Technology
7  * - National Institutes of Health
8  * - University of Dundee
9  * - Board of Regents of the University of Wisconsin-Madison
10  * - Glencoe Software, Inc.
11  * %%
12  * Redistribution and use in source and binary forms, with or without
13  * modification, are permitted provided that the following conditions are met:
14  *
15  * 1. Redistributions of source code must retain the above copyright notice,
16  * this list of conditions and the following disclaimer.
17  * 2. Redistributions in binary form must reproduce the above copyright notice,
18  * this list of conditions and the following disclaimer in the documentation
19  * and/or other materials provided with the distribution.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
25  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31  * POSSIBILITY OF SUCH DAMAGE.
32  *
33  * The views and conclusions contained in the software and documentation are
34  * those of the authors and should not be interpreted as representing official
35  * policies, either expressed or implied, of any organization.
36  * #L%
37  */
38 
39 /*─────────────────────────────────────────────────────────────────────────────
40  *
41  * THIS IS AUTOMATICALLY GENERATED CODE. DO NOT MODIFY.
42  *
43  *─────────────────────────────────────────────────────────────────────────────
44  */
45 
46 #ifndef OME_XML_MODEL_STRUCTUREDANNOTATIONS_H
47 #define OME_XML_MODEL_STRUCTUREDANNOTATIONS_H
48 
49 #include <algorithm>
50 #include <list>
51 #include <stdexcept>
52 #include <string>
53 #include <vector>
54 
55 #include <ome/common/log.h>
56 
57 #include <ome/common/xml/dom/Document.h>
58 #include <ome/common/xml/dom/Element.h>
59 #include <ome/common/xml/dom/Node.h>
60 #include <ome/common/xml/dom/NodeList.h>
61 
62 #include <ome/xml/model/detail/OMEModelObject.h>
63 
64 namespace ome
65 {
66  namespace xml
67  {
68  namespace model
69  {
70 
71  // Forward declarations.
72  class BooleanAnnotation;
73  class CommentAnnotation;
74  class DoubleAnnotation;
75  class FileAnnotation;
76  class ListAnnotation;
77  class LongAnnotation;
78  class OMEModel;
79  class TagAnnotation;
80  class TermAnnotation;
81  class TimestampAnnotation;
82  class XMLAnnotation;
83 
88  {
89  private:
90  class Impl;
92  ome::compat::shared_ptr<Impl> impl;
93 
94  public:
97 
104 
106  virtual
108 
123  static ome::compat::shared_ptr< StructuredAnnotations>
124  create(const common::xml::dom::Element& element,
126 
127  // Documented in superclass.
128  const std::string&
129  elementName() const;
130 
131  // Documented in superclass.
132  bool
133  validElementName(const std::string& name) const;
134 
135 
136  // -- OMEModelObject API methods --
137 
139  virtual void
140  update(const common::xml::dom::Element& element,
142 
143  public:
144  // -- StructuredAnnotations API methods --
145 
147  bool
148  link (ome::compat::shared_ptr<Reference>& reference,
149  ome::compat::shared_ptr< ome::xml::model::OMEModelObject>& object);
150 
156  std::vector<ome::compat::shared_ptr<ome::xml::model::XMLAnnotation> >::size_type
157  sizeOfXMLAnnotationList () const;
158 
165  std::vector<ome::compat::shared_ptr<ome::xml::model::XMLAnnotation> >&
167 
174  const std::vector<ome::compat::shared_ptr<ome::xml::model::XMLAnnotation> >&
175  getXMLAnnotationList () const;
176 
184  ome::compat::shared_ptr<ome::xml::model::XMLAnnotation>&
185  getXMLAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::XMLAnnotation> >::size_type index);
186 
194  const ome::compat::shared_ptr<ome::xml::model::XMLAnnotation>&
195  getXMLAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::XMLAnnotation> >::size_type index) const;
196 
204  void
205  setXMLAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::XMLAnnotation> >::size_type index,
206  ome::compat::shared_ptr<ome::xml::model::XMLAnnotation>& xmlAnnotation);
207 
216  void
217  addXMLAnnotation (ome::compat::shared_ptr<ome::xml::model::XMLAnnotation>& xmlAnnotation);
218 
228  void
229  removeXMLAnnotation (ome::compat::shared_ptr<ome::xml::model::XMLAnnotation>& xmlAnnotation);
230 
236  std::vector<ome::compat::shared_ptr<ome::xml::model::FileAnnotation> >::size_type
237  sizeOfFileAnnotationList () const;
238 
245  std::vector<ome::compat::shared_ptr<ome::xml::model::FileAnnotation> >&
247 
254  const std::vector<ome::compat::shared_ptr<ome::xml::model::FileAnnotation> >&
255  getFileAnnotationList () const;
256 
264  ome::compat::shared_ptr<ome::xml::model::FileAnnotation>&
265  getFileAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::FileAnnotation> >::size_type index);
266 
274  const ome::compat::shared_ptr<ome::xml::model::FileAnnotation>&
275  getFileAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::FileAnnotation> >::size_type index) const;
276 
284  void
285  setFileAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::FileAnnotation> >::size_type index,
286  ome::compat::shared_ptr<ome::xml::model::FileAnnotation>& fileAnnotation);
287 
296  void
297  addFileAnnotation (ome::compat::shared_ptr<ome::xml::model::FileAnnotation>& fileAnnotation);
298 
308  void
309  removeFileAnnotation (ome::compat::shared_ptr<ome::xml::model::FileAnnotation>& fileAnnotation);
310 
316  std::vector<ome::compat::shared_ptr<ome::xml::model::ListAnnotation> >::size_type
317  sizeOfListAnnotationList () const;
318 
325  std::vector<ome::compat::shared_ptr<ome::xml::model::ListAnnotation> >&
327 
334  const std::vector<ome::compat::shared_ptr<ome::xml::model::ListAnnotation> >&
335  getListAnnotationList () const;
336 
344  ome::compat::shared_ptr<ome::xml::model::ListAnnotation>&
345  getListAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::ListAnnotation> >::size_type index);
346 
354  const ome::compat::shared_ptr<ome::xml::model::ListAnnotation>&
355  getListAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::ListAnnotation> >::size_type index) const;
356 
364  void
365  setListAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::ListAnnotation> >::size_type index,
366  ome::compat::shared_ptr<ome::xml::model::ListAnnotation>& listAnnotation);
367 
376  void
377  addListAnnotation (ome::compat::shared_ptr<ome::xml::model::ListAnnotation>& listAnnotation);
378 
388  void
389  removeListAnnotation (ome::compat::shared_ptr<ome::xml::model::ListAnnotation>& listAnnotation);
390 
396  std::vector<ome::compat::shared_ptr<ome::xml::model::LongAnnotation> >::size_type
397  sizeOfLongAnnotationList () const;
398 
405  std::vector<ome::compat::shared_ptr<ome::xml::model::LongAnnotation> >&
407 
414  const std::vector<ome::compat::shared_ptr<ome::xml::model::LongAnnotation> >&
415  getLongAnnotationList () const;
416 
424  ome::compat::shared_ptr<ome::xml::model::LongAnnotation>&
425  getLongAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::LongAnnotation> >::size_type index);
426 
434  const ome::compat::shared_ptr<ome::xml::model::LongAnnotation>&
435  getLongAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::LongAnnotation> >::size_type index) const;
436 
444  void
445  setLongAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::LongAnnotation> >::size_type index,
446  ome::compat::shared_ptr<ome::xml::model::LongAnnotation>& longAnnotation);
447 
456  void
457  addLongAnnotation (ome::compat::shared_ptr<ome::xml::model::LongAnnotation>& longAnnotation);
458 
468  void
469  removeLongAnnotation (ome::compat::shared_ptr<ome::xml::model::LongAnnotation>& longAnnotation);
470 
476  std::vector<ome::compat::shared_ptr<ome::xml::model::DoubleAnnotation> >::size_type
478 
485  std::vector<ome::compat::shared_ptr<ome::xml::model::DoubleAnnotation> >&
487 
494  const std::vector<ome::compat::shared_ptr<ome::xml::model::DoubleAnnotation> >&
495  getDoubleAnnotationList () const;
496 
504  ome::compat::shared_ptr<ome::xml::model::DoubleAnnotation>&
505  getDoubleAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::DoubleAnnotation> >::size_type index);
506 
514  const ome::compat::shared_ptr<ome::xml::model::DoubleAnnotation>&
515  getDoubleAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::DoubleAnnotation> >::size_type index) const;
516 
524  void
525  setDoubleAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::DoubleAnnotation> >::size_type index,
526  ome::compat::shared_ptr<ome::xml::model::DoubleAnnotation>& doubleAnnotation);
527 
536  void
537  addDoubleAnnotation (ome::compat::shared_ptr<ome::xml::model::DoubleAnnotation>& doubleAnnotation);
538 
548  void
549  removeDoubleAnnotation (ome::compat::shared_ptr<ome::xml::model::DoubleAnnotation>& doubleAnnotation);
550 
556  std::vector<ome::compat::shared_ptr<ome::xml::model::CommentAnnotation> >::size_type
558 
565  std::vector<ome::compat::shared_ptr<ome::xml::model::CommentAnnotation> >&
567 
574  const std::vector<ome::compat::shared_ptr<ome::xml::model::CommentAnnotation> >&
575  getCommentAnnotationList () const;
576 
584  ome::compat::shared_ptr<ome::xml::model::CommentAnnotation>&
585  getCommentAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::CommentAnnotation> >::size_type index);
586 
594  const ome::compat::shared_ptr<ome::xml::model::CommentAnnotation>&
595  getCommentAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::CommentAnnotation> >::size_type index) const;
596 
604  void
605  setCommentAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::CommentAnnotation> >::size_type index,
606  ome::compat::shared_ptr<ome::xml::model::CommentAnnotation>& commentAnnotation);
607 
616  void
617  addCommentAnnotation (ome::compat::shared_ptr<ome::xml::model::CommentAnnotation>& commentAnnotation);
618 
628  void
629  removeCommentAnnotation (ome::compat::shared_ptr<ome::xml::model::CommentAnnotation>& commentAnnotation);
630 
636  std::vector<ome::compat::shared_ptr<ome::xml::model::BooleanAnnotation> >::size_type
638 
645  std::vector<ome::compat::shared_ptr<ome::xml::model::BooleanAnnotation> >&
647 
654  const std::vector<ome::compat::shared_ptr<ome::xml::model::BooleanAnnotation> >&
655  getBooleanAnnotationList () const;
656 
664  ome::compat::shared_ptr<ome::xml::model::BooleanAnnotation>&
665  getBooleanAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::BooleanAnnotation> >::size_type index);
666 
674  const ome::compat::shared_ptr<ome::xml::model::BooleanAnnotation>&
675  getBooleanAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::BooleanAnnotation> >::size_type index) const;
676 
684  void
685  setBooleanAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::BooleanAnnotation> >::size_type index,
686  ome::compat::shared_ptr<ome::xml::model::BooleanAnnotation>& booleanAnnotation);
687 
696  void
697  addBooleanAnnotation (ome::compat::shared_ptr<ome::xml::model::BooleanAnnotation>& booleanAnnotation);
698 
708  void
709  removeBooleanAnnotation (ome::compat::shared_ptr<ome::xml::model::BooleanAnnotation>& booleanAnnotation);
710 
716  std::vector<ome::compat::shared_ptr<ome::xml::model::TimestampAnnotation> >::size_type
718 
725  std::vector<ome::compat::shared_ptr<ome::xml::model::TimestampAnnotation> >&
727 
734  const std::vector<ome::compat::shared_ptr<ome::xml::model::TimestampAnnotation> >&
736 
744  ome::compat::shared_ptr<ome::xml::model::TimestampAnnotation>&
745  getTimestampAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::TimestampAnnotation> >::size_type index);
746 
754  const ome::compat::shared_ptr<ome::xml::model::TimestampAnnotation>&
755  getTimestampAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::TimestampAnnotation> >::size_type index) const;
756 
764  void
765  setTimestampAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::TimestampAnnotation> >::size_type index,
766  ome::compat::shared_ptr<ome::xml::model::TimestampAnnotation>& timestampAnnotation);
767 
776  void
777  addTimestampAnnotation (ome::compat::shared_ptr<ome::xml::model::TimestampAnnotation>& timestampAnnotation);
778 
788  void
789  removeTimestampAnnotation (ome::compat::shared_ptr<ome::xml::model::TimestampAnnotation>& timestampAnnotation);
790 
796  std::vector<ome::compat::shared_ptr<ome::xml::model::TagAnnotation> >::size_type
797  sizeOfTagAnnotationList () const;
798 
805  std::vector<ome::compat::shared_ptr<ome::xml::model::TagAnnotation> >&
807 
814  const std::vector<ome::compat::shared_ptr<ome::xml::model::TagAnnotation> >&
815  getTagAnnotationList () const;
816 
824  ome::compat::shared_ptr<ome::xml::model::TagAnnotation>&
825  getTagAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::TagAnnotation> >::size_type index);
826 
834  const ome::compat::shared_ptr<ome::xml::model::TagAnnotation>&
835  getTagAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::TagAnnotation> >::size_type index) const;
836 
844  void
845  setTagAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::TagAnnotation> >::size_type index,
846  ome::compat::shared_ptr<ome::xml::model::TagAnnotation>& tagAnnotation);
847 
856  void
857  addTagAnnotation (ome::compat::shared_ptr<ome::xml::model::TagAnnotation>& tagAnnotation);
858 
868  void
869  removeTagAnnotation (ome::compat::shared_ptr<ome::xml::model::TagAnnotation>& tagAnnotation);
870 
876  std::vector<ome::compat::shared_ptr<ome::xml::model::TermAnnotation> >::size_type
877  sizeOfTermAnnotationList () const;
878 
885  std::vector<ome::compat::shared_ptr<ome::xml::model::TermAnnotation> >&
887 
894  const std::vector<ome::compat::shared_ptr<ome::xml::model::TermAnnotation> >&
895  getTermAnnotationList () const;
896 
904  ome::compat::shared_ptr<ome::xml::model::TermAnnotation>&
905  getTermAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::TermAnnotation> >::size_type index);
906 
914  const ome::compat::shared_ptr<ome::xml::model::TermAnnotation>&
915  getTermAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::TermAnnotation> >::size_type index) const;
916 
924  void
925  setTermAnnotation (std::vector<ome::compat::shared_ptr<ome::xml::model::TermAnnotation> >::size_type index,
926  ome::compat::shared_ptr<ome::xml::model::TermAnnotation>& termAnnotation);
927 
936  void
937  addTermAnnotation (ome::compat::shared_ptr<ome::xml::model::TermAnnotation>& termAnnotation);
938 
948  void
949  removeTermAnnotation (ome::compat::shared_ptr<ome::xml::model::TermAnnotation>& termAnnotation);
950 
951 
954  asXMLElement (common::xml::dom::Document& document) const;
955 
956 
957  protected:
958  // Documented in base class.
961  common::xml::dom::Element& element) const;
962 
963  public:
964  // Documented in superclass.
965  const std::string&
966  getXMLNamespace() const;
967  };
968 
969  }
970  }
971 }
972 
973 #endif // OME_XML_MODEL_STRUCTUREDANNOTATIONS_H
974 
975 /*
976  * Local Variables:
977  * mode:C++
978  * End:
979  */
OME model interface (abstract top-level container)
Definition: OMEModel.h:62
void setFileAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::FileAnnotation > >::size_type index, ome::compat::shared_ptr< ome::xml::model::FileAnnotation > &fileAnnotation)
Set FileAnnotation.
Definition: StructuredAnnotations.cpp:474
virtual common::xml::dom::Element asXMLElement(common::xml::dom::Document &document) const
Transform the object hierarchy rooted at this element to XML.
Definition: StructuredAnnotations.cpp:966
void removeCommentAnnotation(ome::compat::shared_ptr< ome::xml::model::CommentAnnotation > &commentAnnotation)
Remove CommentAnnotation.
Definition: StructuredAnnotations.cpp:723
ome::compat::shared_ptr< ome::xml::model::DoubleAnnotation > & getDoubleAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::DoubleAnnotation > >::size_type index)
Get DoubleAnnotation.
Definition: StructuredAnnotations.cpp:636
std::vector< ome::compat::shared_ptr< ome::xml::model::DoubleAnnotation > > & getDoubleAnnotationList()
Get the DoubleAnnotation list.
Definition: StructuredAnnotations.cpp:624
ome::compat::shared_ptr< ome::xml::model::TagAnnotation > & getTagAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::TagAnnotation > >::size_type index)
Get TagAnnotation.
Definition: StructuredAnnotations.cpp:868
ome::compat::shared_ptr< Impl > impl
Private implementation details.
Definition: StructuredAnnotations.h:90
const std::string & elementName() const
Get the element name of this model object.
Definition: StructuredAnnotations.cpp:222
void setTermAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::TermAnnotation > >::size_type index, ome::compat::shared_ptr< ome::xml::model::TermAnnotation > &termAnnotation)
Set TermAnnotation.
Definition: StructuredAnnotations.cpp:938
Private implementation details of StructuredAnnotations model object.
Definition: StructuredAnnotations.cpp:86
void addXMLAnnotation(ome::compat::shared_ptr< ome::xml::model::XMLAnnotation > &xmlAnnotation)
Add XMLAnnotation.
Definition: StructuredAnnotations.cpp:425
ome::compat::shared_ptr< ome::xml::model::FileAnnotation > & getFileAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::FileAnnotation > >::size_type index)
Get FileAnnotation.
Definition: StructuredAnnotations.cpp:462
StructuredAnnotations model object.
Definition: StructuredAnnotations.h:87
void setTagAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::TagAnnotation > >::size_type index, ome::compat::shared_ptr< ome::xml::model::TagAnnotation > &tagAnnotation)
Set TagAnnotation.
Definition: StructuredAnnotations.cpp:880
ome::compat::shared_ptr< ome::xml::model::TimestampAnnotation > & getTimestampAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::TimestampAnnotation > >::size_type index)
Get TimestampAnnotation.
Definition: StructuredAnnotations.cpp:810
void setDoubleAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::DoubleAnnotation > >::size_type index, ome::compat::shared_ptr< ome::xml::model::DoubleAnnotation > &doubleAnnotation)
Set DoubleAnnotation.
Definition: StructuredAnnotations.cpp:648
bool link(ome::compat::shared_ptr< Reference > &reference, ome::compat::shared_ptr< ome::xml::model::OMEModelObject > &object)
Link a given OME model object to this model object.
Definition: StructuredAnnotations.cpp:371
void removeTagAnnotation(ome::compat::shared_ptr< ome::xml::model::TagAnnotation > &tagAnnotation)
Remove TagAnnotation.
Definition: StructuredAnnotations.cpp:897
const std::string & getXMLNamespace() const
Get the XML namespace for this model object.
Definition: StructuredAnnotations.cpp:1148
std::vector< ome::compat::shared_ptr< ome::xml::model::FileAnnotation > > & getFileAnnotationList()
Get the FileAnnotation list.
Definition: StructuredAnnotations.cpp:450
std::vector< ome::compat::shared_ptr< ome::xml::model::XMLAnnotation > > & getXMLAnnotationList()
Get the XMLAnnotation list.
Definition: StructuredAnnotations.cpp:392
std::vector< ome::compat::shared_ptr< ome::xml::model::FileAnnotation > >::size_type sizeOfFileAnnotationList() const
Get size of linked FileAnnotation list.
Definition: StructuredAnnotations.cpp:444
OME model object (concrete implementation).
Definition: OMEModelObject.h:64
void addCommentAnnotation(ome::compat::shared_ptr< ome::xml::model::CommentAnnotation > &commentAnnotation)
Add CommentAnnotation.
Definition: StructuredAnnotations.cpp:715
ome::compat::shared_ptr< ome::xml::model::CommentAnnotation > & getCommentAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::CommentAnnotation > >::size_type index)
Get CommentAnnotation.
Definition: StructuredAnnotations.cpp:694
bool validElementName(const std::string &name) const
Check if a given element name is valid for processing by this model object.
Definition: StructuredAnnotations.cpp:229
std::vector< ome::compat::shared_ptr< ome::xml::model::ListAnnotation > >::size_type sizeOfListAnnotationList() const
Get size of linked ListAnnotation list.
Definition: StructuredAnnotations.cpp:502
void addTimestampAnnotation(ome::compat::shared_ptr< ome::xml::model::TimestampAnnotation > &timestampAnnotation)
Add TimestampAnnotation.
Definition: StructuredAnnotations.cpp:831
void setTimestampAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::TimestampAnnotation > >::size_type index, ome::compat::shared_ptr< ome::xml::model::TimestampAnnotation > &timestampAnnotation)
Set TimestampAnnotation.
Definition: StructuredAnnotations.cpp:822
void removeLongAnnotation(ome::compat::shared_ptr< ome::xml::model::LongAnnotation > &longAnnotation)
Remove LongAnnotation.
Definition: StructuredAnnotations.cpp:607
std::vector< ome::compat::shared_ptr< ome::xml::model::DoubleAnnotation > >::size_type sizeOfDoubleAnnotationList() const
Get size of linked DoubleAnnotation list.
Definition: StructuredAnnotations.cpp:618
std::vector< ome::compat::shared_ptr< ome::xml::model::BooleanAnnotation > > & getBooleanAnnotationList()
Get the BooleanAnnotation list.
Definition: StructuredAnnotations.cpp:740
Open Microscopy Environment C++ implementation.
ome::compat::shared_ptr< ome::xml::model::TermAnnotation > & getTermAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::TermAnnotation > >::size_type index)
Get TermAnnotation.
Definition: StructuredAnnotations.cpp:926
void setXMLAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::XMLAnnotation > >::size_type index, ome::compat::shared_ptr< ome::xml::model::XMLAnnotation > &xmlAnnotation)
Set XMLAnnotation.
Definition: StructuredAnnotations.cpp:416
ome::compat::shared_ptr< ome::xml::model::LongAnnotation > & getLongAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::LongAnnotation > >::size_type index)
Get LongAnnotation.
Definition: StructuredAnnotations.cpp:578
std::vector< ome::compat::shared_ptr< ome::xml::model::CommentAnnotation > >::size_type sizeOfCommentAnnotationList() const
Get size of linked CommentAnnotation list.
Definition: StructuredAnnotations.cpp:676
void addDoubleAnnotation(ome::compat::shared_ptr< ome::xml::model::DoubleAnnotation > &doubleAnnotation)
Add DoubleAnnotation.
Definition: StructuredAnnotations.cpp:657
ome::compat::shared_ptr< ome::xml::model::ListAnnotation > & getListAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::ListAnnotation > >::size_type index)
Get ListAnnotation.
Definition: StructuredAnnotations.cpp:520
void setListAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::ListAnnotation > >::size_type index, ome::compat::shared_ptr< ome::xml::model::ListAnnotation > &listAnnotation)
Set ListAnnotation.
Definition: StructuredAnnotations.cpp:532
void setCommentAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::CommentAnnotation > >::size_type index, ome::compat::shared_ptr< ome::xml::model::CommentAnnotation > &commentAnnotation)
Set CommentAnnotation.
Definition: StructuredAnnotations.cpp:706
void addFileAnnotation(ome::compat::shared_ptr< ome::xml::model::FileAnnotation > &fileAnnotation)
Add FileAnnotation.
Definition: StructuredAnnotations.cpp:483
std::vector< ome::compat::shared_ptr< ome::xml::model::ListAnnotation > > & getListAnnotationList()
Get the ListAnnotation list.
Definition: StructuredAnnotations.cpp:508
void removeBooleanAnnotation(ome::compat::shared_ptr< ome::xml::model::BooleanAnnotation > &booleanAnnotation)
Remove BooleanAnnotation.
Definition: StructuredAnnotations.cpp:781
StructuredAnnotations()
Default constructor.
Definition: StructuredAnnotations.cpp:189
virtual common::xml::dom::Element asXMLElementInternal(common::xml::dom::Document &document, common::xml::dom::Element &element) const
Transform the object hierarchy rooted at this element to XML.
Definition: StructuredAnnotations.cpp:973
static ome::compat::shared_ptr< StructuredAnnotations > create(const common::xml::dom::Element &element, ome::xml::model::OMEModel &model)
Create a StructuredAnnotations model object from DOM element.
Definition: StructuredAnnotations.cpp:213
std::vector< ome::compat::shared_ptr< ome::xml::model::TagAnnotation > > & getTagAnnotationList()
Get the TagAnnotation list.
Definition: StructuredAnnotations.cpp:856
void removeFileAnnotation(ome::compat::shared_ptr< ome::xml::model::FileAnnotation > &fileAnnotation)
Remove FileAnnotation.
Definition: StructuredAnnotations.cpp:491
ome::compat::shared_ptr< ome::xml::model::BooleanAnnotation > & getBooleanAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::BooleanAnnotation > >::size_type index)
Get BooleanAnnotation.
Definition: StructuredAnnotations.cpp:752
std::vector< ome::compat::shared_ptr< ome::xml::model::TermAnnotation > >::size_type sizeOfTermAnnotationList() const
Get size of linked TermAnnotation list.
Definition: StructuredAnnotations.cpp:908
std::vector< ome::compat::shared_ptr< ome::xml::model::TagAnnotation > >::size_type sizeOfTagAnnotationList() const
Get size of linked TagAnnotation list.
Definition: StructuredAnnotations.cpp:850
void addTagAnnotation(ome::compat::shared_ptr< ome::xml::model::TagAnnotation > &tagAnnotation)
Add TagAnnotation.
Definition: StructuredAnnotations.cpp:889
void removeDoubleAnnotation(ome::compat::shared_ptr< ome::xml::model::DoubleAnnotation > &doubleAnnotation)
Remove DoubleAnnotation.
Definition: StructuredAnnotations.cpp:665
std::vector< ome::compat::shared_ptr< ome::xml::model::TimestampAnnotation > >::size_type sizeOfTimestampAnnotationList() const
Get size of linked TimestampAnnotation list.
Definition: StructuredAnnotations.cpp:792
void addBooleanAnnotation(ome::compat::shared_ptr< ome::xml::model::BooleanAnnotation > &booleanAnnotation)
Add BooleanAnnotation.
Definition: StructuredAnnotations.cpp:773
std::vector< ome::compat::shared_ptr< ome::xml::model::TermAnnotation > > & getTermAnnotationList()
Get the TermAnnotation list.
Definition: StructuredAnnotations.cpp:914
void addTermAnnotation(ome::compat::shared_ptr< ome::xml::model::TermAnnotation > &termAnnotation)
Add TermAnnotation.
Definition: StructuredAnnotations.cpp:947
void removeXMLAnnotation(ome::compat::shared_ptr< ome::xml::model::XMLAnnotation > &xmlAnnotation)
Remove XMLAnnotation.
Definition: StructuredAnnotations.cpp:433
void removeListAnnotation(ome::compat::shared_ptr< ome::xml::model::ListAnnotation > &listAnnotation)
Remove ListAnnotation.
Definition: StructuredAnnotations.cpp:549
virtual void update(const common::xml::dom::Element &element, ome::xml::model::OMEModel &model)
Update the object hierarchy recursively from an XML DOM tree.
Definition: StructuredAnnotations.cpp:238
void removeTermAnnotation(ome::compat::shared_ptr< ome::xml::model::TermAnnotation > &termAnnotation)
Remove TermAnnotation.
Definition: StructuredAnnotations.cpp:955
std::vector< ome::compat::shared_ptr< ome::xml::model::LongAnnotation > >::size_type sizeOfLongAnnotationList() const
Get size of linked LongAnnotation list.
Definition: StructuredAnnotations.cpp:560
std::vector< ome::compat::shared_ptr< ome::xml::model::BooleanAnnotation > >::size_type sizeOfBooleanAnnotationList() const
Get size of linked BooleanAnnotation list.
Definition: StructuredAnnotations.cpp:734
void addLongAnnotation(ome::compat::shared_ptr< ome::xml::model::LongAnnotation > &longAnnotation)
Add LongAnnotation.
Definition: StructuredAnnotations.cpp:599
void removeTimestampAnnotation(ome::compat::shared_ptr< ome::xml::model::TimestampAnnotation > &timestampAnnotation)
Remove TimestampAnnotation.
Definition: StructuredAnnotations.cpp:839
std::vector< ome::compat::shared_ptr< ome::xml::model::LongAnnotation > > & getLongAnnotationList()
Get the LongAnnotation list.
Definition: StructuredAnnotations.cpp:566
void addListAnnotation(ome::compat::shared_ptr< ome::xml::model::ListAnnotation > &listAnnotation)
Add ListAnnotation.
Definition: StructuredAnnotations.cpp:541
ome::compat::shared_ptr< ome::xml::model::XMLAnnotation > & getXMLAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::XMLAnnotation > >::size_type index)
Get XMLAnnotation.
Definition: StructuredAnnotations.cpp:404
std::vector< ome::compat::shared_ptr< ome::xml::model::CommentAnnotation > > & getCommentAnnotationList()
Get the CommentAnnotation list.
Definition: StructuredAnnotations.cpp:682
void setLongAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::LongAnnotation > >::size_type index, ome::compat::shared_ptr< ome::xml::model::LongAnnotation > &longAnnotation)
Set LongAnnotation.
Definition: StructuredAnnotations.cpp:590
std::vector< ome::compat::shared_ptr< ome::xml::model::TimestampAnnotation > > & getTimestampAnnotationList()
Get the TimestampAnnotation list.
Definition: StructuredAnnotations.cpp:798
virtual ~StructuredAnnotations()
Destructor.
Definition: StructuredAnnotations.cpp:208
std::vector< ome::compat::shared_ptr< ome::xml::model::XMLAnnotation > >::size_type sizeOfXMLAnnotationList() const
Get size of linked XMLAnnotation list.
Definition: StructuredAnnotations.cpp:386
void setBooleanAnnotation(std::vector< ome::compat::shared_ptr< ome::xml::model::BooleanAnnotation > >::size_type index, ome::compat::shared_ptr< ome::xml::model::BooleanAnnotation > &booleanAnnotation)
Set BooleanAnnotation.
Definition: StructuredAnnotations.cpp:764