ome-xml  5.6.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 
61 #include <ome/xml/model/primitives/Quantity.h>
62 
63 #include <ome/xml/model/detail/OMEModelObject.h>
64 
65 namespace ome
66 {
67  namespace xml
68  {
69  namespace model
70  {
71 
72  // Forward declarations.
73  class BooleanAnnotation;
74  class CommentAnnotation;
75  class DoubleAnnotation;
76  class FileAnnotation;
77  class ListAnnotation;
78  class LongAnnotation;
79  class MapAnnotation;
80  class OMEModel;
81  class TagAnnotation;
82  class TermAnnotation;
83  class TimestampAnnotation;
84  class XMLAnnotation;
85 
90  {
91  private:
92  class Impl;
94  std::shared_ptr<Impl> impl;
95 
96  public:
99 
106 
108  virtual
110 
125  static std::shared_ptr<StructuredAnnotations>
126  create(const common::xml::dom::Element& element,
128 
129  // Documented in superclass.
130  const std::string&
131  elementName() const;
132 
133  // Documented in superclass.
134  bool
135  validElementName(const std::string& name) const;
136 
139  operator= (const StructuredAnnotations&) = delete;
141 
142  // -- OMEModelObject API methods --
143 
145  virtual void
146  update(const common::xml::dom::Element& element,
148 
149  public:
150  // -- StructuredAnnotations API methods --
151 
153  bool
154  link (std::shared_ptr<Reference>& reference,
155  std::shared_ptr<ome::xml::model::OMEModelObject>& object);
156 
162  std::vector<std::shared_ptr<ome::xml::model::XMLAnnotation>>::size_type
163  sizeOfXMLAnnotationList () const;
164 
171  std::vector<std::shared_ptr<ome::xml::model::XMLAnnotation>>&
173 
180  const std::vector<std::shared_ptr<ome::xml::model::XMLAnnotation>>&
181  getXMLAnnotationList () const;
182 
190  std::shared_ptr<ome::xml::model::XMLAnnotation>&
191  getXMLAnnotation (std::vector<std::shared_ptr<ome::xml::model::XMLAnnotation>>::size_type index);
192 
200  const std::shared_ptr<ome::xml::model::XMLAnnotation>&
201  getXMLAnnotation (std::vector<std::shared_ptr<ome::xml::model::XMLAnnotation>>::size_type index) const;
202 
210  void
211  setXMLAnnotation (std::vector<std::shared_ptr<ome::xml::model::XMLAnnotation>>::size_type index,
212  std::shared_ptr<ome::xml::model::XMLAnnotation>& xmlAnnotation);
213 
222  void
223  addXMLAnnotation (std::shared_ptr<ome::xml::model::XMLAnnotation>& xmlAnnotation);
224 
234  void
235  removeXMLAnnotation (std::shared_ptr<ome::xml::model::XMLAnnotation>& xmlAnnotation);
236 
242  std::vector<std::shared_ptr<ome::xml::model::FileAnnotation>>::size_type
243  sizeOfFileAnnotationList () const;
244 
251  std::vector<std::shared_ptr<ome::xml::model::FileAnnotation>>&
253 
260  const std::vector<std::shared_ptr<ome::xml::model::FileAnnotation>>&
261  getFileAnnotationList () const;
262 
270  std::shared_ptr<ome::xml::model::FileAnnotation>&
271  getFileAnnotation (std::vector<std::shared_ptr<ome::xml::model::FileAnnotation>>::size_type index);
272 
280  const std::shared_ptr<ome::xml::model::FileAnnotation>&
281  getFileAnnotation (std::vector<std::shared_ptr<ome::xml::model::FileAnnotation>>::size_type index) const;
282 
290  void
291  setFileAnnotation (std::vector<std::shared_ptr<ome::xml::model::FileAnnotation>>::size_type index,
292  std::shared_ptr<ome::xml::model::FileAnnotation>& fileAnnotation);
293 
302  void
303  addFileAnnotation (std::shared_ptr<ome::xml::model::FileAnnotation>& fileAnnotation);
304 
314  void
315  removeFileAnnotation (std::shared_ptr<ome::xml::model::FileAnnotation>& fileAnnotation);
316 
322  std::vector<std::shared_ptr<ome::xml::model::ListAnnotation>>::size_type
323  sizeOfListAnnotationList () const;
324 
331  std::vector<std::shared_ptr<ome::xml::model::ListAnnotation>>&
333 
340  const std::vector<std::shared_ptr<ome::xml::model::ListAnnotation>>&
341  getListAnnotationList () const;
342 
350  std::shared_ptr<ome::xml::model::ListAnnotation>&
351  getListAnnotation (std::vector<std::shared_ptr<ome::xml::model::ListAnnotation>>::size_type index);
352 
360  const std::shared_ptr<ome::xml::model::ListAnnotation>&
361  getListAnnotation (std::vector<std::shared_ptr<ome::xml::model::ListAnnotation>>::size_type index) const;
362 
370  void
371  setListAnnotation (std::vector<std::shared_ptr<ome::xml::model::ListAnnotation>>::size_type index,
372  std::shared_ptr<ome::xml::model::ListAnnotation>& listAnnotation);
373 
382  void
383  addListAnnotation (std::shared_ptr<ome::xml::model::ListAnnotation>& listAnnotation);
384 
394  void
395  removeListAnnotation (std::shared_ptr<ome::xml::model::ListAnnotation>& listAnnotation);
396 
402  std::vector<std::shared_ptr<ome::xml::model::LongAnnotation>>::size_type
403  sizeOfLongAnnotationList () const;
404 
411  std::vector<std::shared_ptr<ome::xml::model::LongAnnotation>>&
413 
420  const std::vector<std::shared_ptr<ome::xml::model::LongAnnotation>>&
421  getLongAnnotationList () const;
422 
430  std::shared_ptr<ome::xml::model::LongAnnotation>&
431  getLongAnnotation (std::vector<std::shared_ptr<ome::xml::model::LongAnnotation>>::size_type index);
432 
440  const std::shared_ptr<ome::xml::model::LongAnnotation>&
441  getLongAnnotation (std::vector<std::shared_ptr<ome::xml::model::LongAnnotation>>::size_type index) const;
442 
450  void
451  setLongAnnotation (std::vector<std::shared_ptr<ome::xml::model::LongAnnotation>>::size_type index,
452  std::shared_ptr<ome::xml::model::LongAnnotation>& longAnnotation);
453 
462  void
463  addLongAnnotation (std::shared_ptr<ome::xml::model::LongAnnotation>& longAnnotation);
464 
474  void
475  removeLongAnnotation (std::shared_ptr<ome::xml::model::LongAnnotation>& longAnnotation);
476 
482  std::vector<std::shared_ptr<ome::xml::model::DoubleAnnotation>>::size_type
484 
491  std::vector<std::shared_ptr<ome::xml::model::DoubleAnnotation>>&
493 
500  const std::vector<std::shared_ptr<ome::xml::model::DoubleAnnotation>>&
501  getDoubleAnnotationList () const;
502 
510  std::shared_ptr<ome::xml::model::DoubleAnnotation>&
511  getDoubleAnnotation (std::vector<std::shared_ptr<ome::xml::model::DoubleAnnotation>>::size_type index);
512 
520  const std::shared_ptr<ome::xml::model::DoubleAnnotation>&
521  getDoubleAnnotation (std::vector<std::shared_ptr<ome::xml::model::DoubleAnnotation>>::size_type index) const;
522 
530  void
531  setDoubleAnnotation (std::vector<std::shared_ptr<ome::xml::model::DoubleAnnotation>>::size_type index,
532  std::shared_ptr<ome::xml::model::DoubleAnnotation>& doubleAnnotation);
533 
542  void
543  addDoubleAnnotation (std::shared_ptr<ome::xml::model::DoubleAnnotation>& doubleAnnotation);
544 
554  void
555  removeDoubleAnnotation (std::shared_ptr<ome::xml::model::DoubleAnnotation>& doubleAnnotation);
556 
562  std::vector<std::shared_ptr<ome::xml::model::CommentAnnotation>>::size_type
564 
571  std::vector<std::shared_ptr<ome::xml::model::CommentAnnotation>>&
573 
580  const std::vector<std::shared_ptr<ome::xml::model::CommentAnnotation>>&
581  getCommentAnnotationList () const;
582 
590  std::shared_ptr<ome::xml::model::CommentAnnotation>&
591  getCommentAnnotation (std::vector<std::shared_ptr<ome::xml::model::CommentAnnotation>>::size_type index);
592 
600  const std::shared_ptr<ome::xml::model::CommentAnnotation>&
601  getCommentAnnotation (std::vector<std::shared_ptr<ome::xml::model::CommentAnnotation>>::size_type index) const;
602 
610  void
611  setCommentAnnotation (std::vector<std::shared_ptr<ome::xml::model::CommentAnnotation>>::size_type index,
612  std::shared_ptr<ome::xml::model::CommentAnnotation>& commentAnnotation);
613 
622  void
623  addCommentAnnotation (std::shared_ptr<ome::xml::model::CommentAnnotation>& commentAnnotation);
624 
634  void
635  removeCommentAnnotation (std::shared_ptr<ome::xml::model::CommentAnnotation>& commentAnnotation);
636 
642  std::vector<std::shared_ptr<ome::xml::model::BooleanAnnotation>>::size_type
644 
651  std::vector<std::shared_ptr<ome::xml::model::BooleanAnnotation>>&
653 
660  const std::vector<std::shared_ptr<ome::xml::model::BooleanAnnotation>>&
661  getBooleanAnnotationList () const;
662 
670  std::shared_ptr<ome::xml::model::BooleanAnnotation>&
671  getBooleanAnnotation (std::vector<std::shared_ptr<ome::xml::model::BooleanAnnotation>>::size_type index);
672 
680  const std::shared_ptr<ome::xml::model::BooleanAnnotation>&
681  getBooleanAnnotation (std::vector<std::shared_ptr<ome::xml::model::BooleanAnnotation>>::size_type index) const;
682 
690  void
691  setBooleanAnnotation (std::vector<std::shared_ptr<ome::xml::model::BooleanAnnotation>>::size_type index,
692  std::shared_ptr<ome::xml::model::BooleanAnnotation>& booleanAnnotation);
693 
702  void
703  addBooleanAnnotation (std::shared_ptr<ome::xml::model::BooleanAnnotation>& booleanAnnotation);
704 
714  void
715  removeBooleanAnnotation (std::shared_ptr<ome::xml::model::BooleanAnnotation>& booleanAnnotation);
716 
722  std::vector<std::shared_ptr<ome::xml::model::TimestampAnnotation>>::size_type
724 
731  std::vector<std::shared_ptr<ome::xml::model::TimestampAnnotation>>&
733 
740  const std::vector<std::shared_ptr<ome::xml::model::TimestampAnnotation>>&
742 
750  std::shared_ptr<ome::xml::model::TimestampAnnotation>&
751  getTimestampAnnotation (std::vector<std::shared_ptr<ome::xml::model::TimestampAnnotation>>::size_type index);
752 
760  const std::shared_ptr<ome::xml::model::TimestampAnnotation>&
761  getTimestampAnnotation (std::vector<std::shared_ptr<ome::xml::model::TimestampAnnotation>>::size_type index) const;
762 
770  void
771  setTimestampAnnotation (std::vector<std::shared_ptr<ome::xml::model::TimestampAnnotation>>::size_type index,
772  std::shared_ptr<ome::xml::model::TimestampAnnotation>& timestampAnnotation);
773 
782  void
783  addTimestampAnnotation (std::shared_ptr<ome::xml::model::TimestampAnnotation>& timestampAnnotation);
784 
794  void
795  removeTimestampAnnotation (std::shared_ptr<ome::xml::model::TimestampAnnotation>& timestampAnnotation);
796 
802  std::vector<std::shared_ptr<ome::xml::model::TagAnnotation>>::size_type
803  sizeOfTagAnnotationList () const;
804 
811  std::vector<std::shared_ptr<ome::xml::model::TagAnnotation>>&
813 
820  const std::vector<std::shared_ptr<ome::xml::model::TagAnnotation>>&
821  getTagAnnotationList () const;
822 
830  std::shared_ptr<ome::xml::model::TagAnnotation>&
831  getTagAnnotation (std::vector<std::shared_ptr<ome::xml::model::TagAnnotation>>::size_type index);
832 
840  const std::shared_ptr<ome::xml::model::TagAnnotation>&
841  getTagAnnotation (std::vector<std::shared_ptr<ome::xml::model::TagAnnotation>>::size_type index) const;
842 
850  void
851  setTagAnnotation (std::vector<std::shared_ptr<ome::xml::model::TagAnnotation>>::size_type index,
852  std::shared_ptr<ome::xml::model::TagAnnotation>& tagAnnotation);
853 
862  void
863  addTagAnnotation (std::shared_ptr<ome::xml::model::TagAnnotation>& tagAnnotation);
864 
874  void
875  removeTagAnnotation (std::shared_ptr<ome::xml::model::TagAnnotation>& tagAnnotation);
876 
882  std::vector<std::shared_ptr<ome::xml::model::TermAnnotation>>::size_type
883  sizeOfTermAnnotationList () const;
884 
891  std::vector<std::shared_ptr<ome::xml::model::TermAnnotation>>&
893 
900  const std::vector<std::shared_ptr<ome::xml::model::TermAnnotation>>&
901  getTermAnnotationList () const;
902 
910  std::shared_ptr<ome::xml::model::TermAnnotation>&
911  getTermAnnotation (std::vector<std::shared_ptr<ome::xml::model::TermAnnotation>>::size_type index);
912 
920  const std::shared_ptr<ome::xml::model::TermAnnotation>&
921  getTermAnnotation (std::vector<std::shared_ptr<ome::xml::model::TermAnnotation>>::size_type index) const;
922 
930  void
931  setTermAnnotation (std::vector<std::shared_ptr<ome::xml::model::TermAnnotation>>::size_type index,
932  std::shared_ptr<ome::xml::model::TermAnnotation>& termAnnotation);
933 
942  void
943  addTermAnnotation (std::shared_ptr<ome::xml::model::TermAnnotation>& termAnnotation);
944 
954  void
955  removeTermAnnotation (std::shared_ptr<ome::xml::model::TermAnnotation>& termAnnotation);
956 
962  std::vector<std::shared_ptr<ome::xml::model::MapAnnotation>>::size_type
963  sizeOfMapAnnotationList () const;
964 
971  std::vector<std::shared_ptr<ome::xml::model::MapAnnotation>>&
973 
980  const std::vector<std::shared_ptr<ome::xml::model::MapAnnotation>>&
981  getMapAnnotationList () const;
982 
990  std::shared_ptr<ome::xml::model::MapAnnotation>&
991  getMapAnnotation (std::vector<std::shared_ptr<ome::xml::model::MapAnnotation>>::size_type index);
992 
1000  const std::shared_ptr<ome::xml::model::MapAnnotation>&
1001  getMapAnnotation (std::vector<std::shared_ptr<ome::xml::model::MapAnnotation>>::size_type index) const;
1002 
1010  void
1011  setMapAnnotation (std::vector<std::shared_ptr<ome::xml::model::MapAnnotation>>::size_type index,
1012  std::shared_ptr<ome::xml::model::MapAnnotation>& mapAnnotation);
1013 
1022  void
1023  addMapAnnotation (std::shared_ptr<ome::xml::model::MapAnnotation>& mapAnnotation);
1024 
1034  void
1035  removeMapAnnotation (std::shared_ptr<ome::xml::model::MapAnnotation>& mapAnnotation);
1036 
1037  protected:
1038  // Documented in base class.
1039  virtual void
1041  common::xml::dom::Element& element) const;
1042 
1043  public:
1044  // Documented in superclass.
1045  const std::string&
1046  getXMLNamespace() const;
1047  };
1048 
1049  }
1050  }
1051 }
1052 
1053 #endif // OME_XML_MODEL_STRUCTUREDANNOTATIONS_H
1054 
1055 /*
1056  * Local Variables:
1057  * mode:C++
1058  * End:
1059  */
OME model interface (abstract top-level container)
Definition: OMEModel.h:61
std::vector< std::shared_ptr< ome::xml::model::CommentAnnotation > >::size_type sizeOfCommentAnnotationList() const
Get size of linked CommentAnnotation list.
Definition: StructuredAnnotations.cpp:674
std::vector< std::shared_ptr< ome::xml::model::LongAnnotation > > & getLongAnnotationList()
Get the LongAnnotation list.
Definition: StructuredAnnotations.cpp:564
void setTagAnnotation(std::vector< std::shared_ptr< ome::xml::model::TagAnnotation >>::size_type index, std::shared_ptr< ome::xml::model::TagAnnotation > &tagAnnotation)
Set TagAnnotation.
Definition: StructuredAnnotations.cpp:878
bool validElementName(const std::string &name) const
Check if a given element name is valid for processing by this model object.
Definition: StructuredAnnotations.cpp:239
std::shared_ptr< ome::xml::model::BooleanAnnotation > & getBooleanAnnotation(std::vector< std::shared_ptr< ome::xml::model::BooleanAnnotation >>::size_type index)
Get BooleanAnnotation.
Definition: StructuredAnnotations.cpp:750
Private implementation details of StructuredAnnotations model object.
Definition: StructuredAnnotations.cpp:86
void removeTagAnnotation(std::shared_ptr< ome::xml::model::TagAnnotation > &tagAnnotation)
Remove TagAnnotation.
Definition: StructuredAnnotations.cpp:895
StructuredAnnotations model object.
Definition: StructuredAnnotations.h:89
void addLongAnnotation(std::shared_ptr< ome::xml::model::LongAnnotation > &longAnnotation)
Add LongAnnotation.
Definition: StructuredAnnotations.cpp:597
std::vector< std::shared_ptr< ome::xml::model::CommentAnnotation > > & getCommentAnnotationList()
Get the CommentAnnotation list.
Definition: StructuredAnnotations.cpp:680
std::vector< std::shared_ptr< ome::xml::model::TermAnnotation > > & getTermAnnotationList()
Get the TermAnnotation list.
Definition: StructuredAnnotations.cpp:912
bool link(std::shared_ptr< Reference > &reference, std::shared_ptr< ome::xml::model::OMEModelObject > &object)
Link a given OME model object to this model object.
Definition: StructuredAnnotations.cpp:369
std::shared_ptr< ome::xml::model::TimestampAnnotation > & getTimestampAnnotation(std::vector< std::shared_ptr< ome::xml::model::TimestampAnnotation >>::size_type index)
Get TimestampAnnotation.
Definition: StructuredAnnotations.cpp:808
OME model object (concrete implementation).
Definition: OMEModelObject.h:64
void addDoubleAnnotation(std::shared_ptr< ome::xml::model::DoubleAnnotation > &doubleAnnotation)
Add DoubleAnnotation.
Definition: StructuredAnnotations.cpp:655
void removeBooleanAnnotation(std::shared_ptr< ome::xml::model::BooleanAnnotation > &booleanAnnotation)
Remove BooleanAnnotation.
Definition: StructuredAnnotations.cpp:779
std::vector< std::shared_ptr< ome::xml::model::BooleanAnnotation > > & getBooleanAnnotationList()
Get the BooleanAnnotation list.
Definition: StructuredAnnotations.cpp:738
std::vector< std::shared_ptr< ome::xml::model::FileAnnotation > >::size_type sizeOfFileAnnotationList() const
Get size of linked FileAnnotation list.
Definition: StructuredAnnotations.cpp:442
std::vector< std::shared_ptr< ome::xml::model::MapAnnotation > > & getMapAnnotationList()
Get the MapAnnotation list.
Definition: StructuredAnnotations.cpp:970
void setXMLAnnotation(std::vector< std::shared_ptr< ome::xml::model::XMLAnnotation >>::size_type index, std::shared_ptr< ome::xml::model::XMLAnnotation > &xmlAnnotation)
Set XMLAnnotation.
Definition: StructuredAnnotations.cpp:414
std::shared_ptr< ome::xml::model::TagAnnotation > & getTagAnnotation(std::vector< std::shared_ptr< ome::xml::model::TagAnnotation >>::size_type index)
Get TagAnnotation.
Definition: StructuredAnnotations.cpp:866
void addFileAnnotation(std::shared_ptr< ome::xml::model::FileAnnotation > &fileAnnotation)
Add FileAnnotation.
Definition: StructuredAnnotations.cpp:481
std::shared_ptr< ome::xml::model::MapAnnotation > & getMapAnnotation(std::vector< std::shared_ptr< ome::xml::model::MapAnnotation >>::size_type index)
Get MapAnnotation.
Definition: StructuredAnnotations.cpp:982
std::vector< std::shared_ptr< ome::xml::model::LongAnnotation > >::size_type sizeOfLongAnnotationList() const
Get size of linked LongAnnotation list.
Definition: StructuredAnnotations.cpp:558
std::vector< std::shared_ptr< ome::xml::model::ListAnnotation > > & getListAnnotationList()
Get the ListAnnotation list.
Definition: StructuredAnnotations.cpp:506
void setLongAnnotation(std::vector< std::shared_ptr< ome::xml::model::LongAnnotation >>::size_type index, std::shared_ptr< ome::xml::model::LongAnnotation > &longAnnotation)
Set LongAnnotation.
Definition: StructuredAnnotations.cpp:588
void addTermAnnotation(std::shared_ptr< ome::xml::model::TermAnnotation > &termAnnotation)
Add TermAnnotation.
Definition: StructuredAnnotations.cpp:945
void setTermAnnotation(std::vector< std::shared_ptr< ome::xml::model::TermAnnotation >>::size_type index, std::shared_ptr< ome::xml::model::TermAnnotation > &termAnnotation)
Set TermAnnotation.
Definition: StructuredAnnotations.cpp:936
std::shared_ptr< ome::xml::model::FileAnnotation > & getFileAnnotation(std::vector< std::shared_ptr< ome::xml::model::FileAnnotation >>::size_type index)
Get FileAnnotation.
Definition: StructuredAnnotations.cpp:460
void setBooleanAnnotation(std::vector< std::shared_ptr< ome::xml::model::BooleanAnnotation >>::size_type index, std::shared_ptr< ome::xml::model::BooleanAnnotation > &booleanAnnotation)
Set BooleanAnnotation.
Definition: StructuredAnnotations.cpp:762
void removeDoubleAnnotation(std::shared_ptr< ome::xml::model::DoubleAnnotation > &doubleAnnotation)
Remove DoubleAnnotation.
Definition: StructuredAnnotations.cpp:663
std::vector< std::shared_ptr< ome::xml::model::XMLAnnotation > > & getXMLAnnotationList()
Get the XMLAnnotation list.
Definition: StructuredAnnotations.cpp:390
const std::string & getXMLNamespace() const
Get the XML namespace for this model object.
Definition: StructuredAnnotations.cpp:1181
void removeFileAnnotation(std::shared_ptr< ome::xml::model::FileAnnotation > &fileAnnotation)
Remove FileAnnotation.
Definition: StructuredAnnotations.cpp:489
virtual void 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:1021
std::vector< std::shared_ptr< ome::xml::model::DoubleAnnotation > >::size_type sizeOfDoubleAnnotationList() const
Get size of linked DoubleAnnotation list.
Definition: StructuredAnnotations.cpp:616
Open Microscopy Environment C++ implementation.
void removeListAnnotation(std::shared_ptr< ome::xml::model::ListAnnotation > &listAnnotation)
Remove ListAnnotation.
Definition: StructuredAnnotations.cpp:547
void addTimestampAnnotation(std::shared_ptr< ome::xml::model::TimestampAnnotation > &timestampAnnotation)
Add TimestampAnnotation.
Definition: StructuredAnnotations.cpp:829
std::vector< std::shared_ptr< ome::xml::model::TagAnnotation > >::size_type sizeOfTagAnnotationList() const
Get size of linked TagAnnotation list.
Definition: StructuredAnnotations.cpp:848
std::vector< std::shared_ptr< ome::xml::model::FileAnnotation > > & getFileAnnotationList()
Get the FileAnnotation list.
Definition: StructuredAnnotations.cpp:448
std::shared_ptr< ome::xml::model::CommentAnnotation > & getCommentAnnotation(std::vector< std::shared_ptr< ome::xml::model::CommentAnnotation >>::size_type index)
Get CommentAnnotation.
Definition: StructuredAnnotations.cpp:692
void addCommentAnnotation(std::shared_ptr< ome::xml::model::CommentAnnotation > &commentAnnotation)
Add CommentAnnotation.
Definition: StructuredAnnotations.cpp:713
std::shared_ptr< ome::xml::model::XMLAnnotation > & getXMLAnnotation(std::vector< std::shared_ptr< ome::xml::model::XMLAnnotation >>::size_type index)
Get XMLAnnotation.
Definition: StructuredAnnotations.cpp:402
void setFileAnnotation(std::vector< std::shared_ptr< ome::xml::model::FileAnnotation >>::size_type index, std::shared_ptr< ome::xml::model::FileAnnotation > &fileAnnotation)
Set FileAnnotation.
Definition: StructuredAnnotations.cpp:472
std::shared_ptr< ome::xml::model::LongAnnotation > & getLongAnnotation(std::vector< std::shared_ptr< ome::xml::model::LongAnnotation >>::size_type index)
Get LongAnnotation.
Definition: StructuredAnnotations.cpp:576
std::shared_ptr< ome::xml::model::ListAnnotation > & getListAnnotation(std::vector< std::shared_ptr< ome::xml::model::ListAnnotation >>::size_type index)
Get ListAnnotation.
Definition: StructuredAnnotations.cpp:518
StructuredAnnotations()
Default constructor.
Definition: StructuredAnnotations.cpp:199
void setCommentAnnotation(std::vector< std::shared_ptr< ome::xml::model::CommentAnnotation >>::size_type index, std::shared_ptr< ome::xml::model::CommentAnnotation > &commentAnnotation)
Set CommentAnnotation.
Definition: StructuredAnnotations.cpp:704
void setMapAnnotation(std::vector< std::shared_ptr< ome::xml::model::MapAnnotation >>::size_type index, std::shared_ptr< ome::xml::model::MapAnnotation > &mapAnnotation)
Set MapAnnotation.
Definition: StructuredAnnotations.cpp:994
std::vector< std::shared_ptr< ome::xml::model::DoubleAnnotation > > & getDoubleAnnotationList()
Get the DoubleAnnotation list.
Definition: StructuredAnnotations.cpp:622
void setTimestampAnnotation(std::vector< std::shared_ptr< ome::xml::model::TimestampAnnotation >>::size_type index, std::shared_ptr< ome::xml::model::TimestampAnnotation > &timestampAnnotation)
Set TimestampAnnotation.
Definition: StructuredAnnotations.cpp:820
void addMapAnnotation(std::shared_ptr< ome::xml::model::MapAnnotation > &mapAnnotation)
Add MapAnnotation.
Definition: StructuredAnnotations.cpp:1003
void addBooleanAnnotation(std::shared_ptr< ome::xml::model::BooleanAnnotation > &booleanAnnotation)
Add BooleanAnnotation.
Definition: StructuredAnnotations.cpp:771
void removeCommentAnnotation(std::shared_ptr< ome::xml::model::CommentAnnotation > &commentAnnotation)
Remove CommentAnnotation.
Definition: StructuredAnnotations.cpp:721
std::shared_ptr< Impl > impl
Private implementation details.
Definition: StructuredAnnotations.h:92
std::vector< std::shared_ptr< ome::xml::model::MapAnnotation > >::size_type sizeOfMapAnnotationList() const
Get size of linked MapAnnotation list.
Definition: StructuredAnnotations.cpp:964
void addXMLAnnotation(std::shared_ptr< ome::xml::model::XMLAnnotation > &xmlAnnotation)
Add XMLAnnotation.
Definition: StructuredAnnotations.cpp:423
void removeXMLAnnotation(std::shared_ptr< ome::xml::model::XMLAnnotation > &xmlAnnotation)
Remove XMLAnnotation.
Definition: StructuredAnnotations.cpp:431
std::shared_ptr< ome::xml::model::TermAnnotation > & getTermAnnotation(std::vector< std::shared_ptr< ome::xml::model::TermAnnotation >>::size_type index)
Get TermAnnotation.
Definition: StructuredAnnotations.cpp:924
void setListAnnotation(std::vector< std::shared_ptr< ome::xml::model::ListAnnotation >>::size_type index, std::shared_ptr< ome::xml::model::ListAnnotation > &listAnnotation)
Set ListAnnotation.
Definition: StructuredAnnotations.cpp:530
std::vector< std::shared_ptr< ome::xml::model::XMLAnnotation > >::size_type sizeOfXMLAnnotationList() const
Get size of linked XMLAnnotation list.
Definition: StructuredAnnotations.cpp:384
virtual SKIP 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:245
const std::string & elementName() const
Get the element name of this model object.
Definition: StructuredAnnotations.cpp:232
void addListAnnotation(std::shared_ptr< ome::xml::model::ListAnnotation > &listAnnotation)
Add ListAnnotation.
Definition: StructuredAnnotations.cpp:539
static std::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:223
void removeLongAnnotation(std::shared_ptr< ome::xml::model::LongAnnotation > &longAnnotation)
Remove LongAnnotation.
Definition: StructuredAnnotations.cpp:605
void removeTimestampAnnotation(std::shared_ptr< ome::xml::model::TimestampAnnotation > &timestampAnnotation)
Remove TimestampAnnotation.
Definition: StructuredAnnotations.cpp:837
std::vector< std::shared_ptr< ome::xml::model::BooleanAnnotation > >::size_type sizeOfBooleanAnnotationList() const
Get size of linked BooleanAnnotation list.
Definition: StructuredAnnotations.cpp:732
std::vector< std::shared_ptr< ome::xml::model::TimestampAnnotation > >::size_type sizeOfTimestampAnnotationList() const
Get size of linked TimestampAnnotation list.
Definition: StructuredAnnotations.cpp:790
void setDoubleAnnotation(std::vector< std::shared_ptr< ome::xml::model::DoubleAnnotation >>::size_type index, std::shared_ptr< ome::xml::model::DoubleAnnotation > &doubleAnnotation)
Set DoubleAnnotation.
Definition: StructuredAnnotations.cpp:646
void removeTermAnnotation(std::shared_ptr< ome::xml::model::TermAnnotation > &termAnnotation)
Remove TermAnnotation.
Definition: StructuredAnnotations.cpp:953
void removeMapAnnotation(std::shared_ptr< ome::xml::model::MapAnnotation > &mapAnnotation)
Remove MapAnnotation.
Definition: StructuredAnnotations.cpp:1011
virtual ~StructuredAnnotations()
Destructor.
Definition: StructuredAnnotations.cpp:218
std::shared_ptr< ome::xml::model::DoubleAnnotation > & getDoubleAnnotation(std::vector< std::shared_ptr< ome::xml::model::DoubleAnnotation >>::size_type index)
Get DoubleAnnotation.
Definition: StructuredAnnotations.cpp:634
void addTagAnnotation(std::shared_ptr< ome::xml::model::TagAnnotation > &tagAnnotation)
Add TagAnnotation.
Definition: StructuredAnnotations.cpp:887
std::vector< std::shared_ptr< ome::xml::model::TagAnnotation > > & getTagAnnotationList()
Get the TagAnnotation list.
Definition: StructuredAnnotations.cpp:854
std::vector< std::shared_ptr< ome::xml::model::TimestampAnnotation > > & getTimestampAnnotationList()
Get the TimestampAnnotation list.
Definition: StructuredAnnotations.cpp:796
std::vector< std::shared_ptr< ome::xml::model::TermAnnotation > >::size_type sizeOfTermAnnotationList() const
Get size of linked TermAnnotation list.
Definition: StructuredAnnotations.cpp:906
std::vector< std::shared_ptr< ome::xml::model::ListAnnotation > >::size_type sizeOfListAnnotationList() const
Get size of linked ListAnnotation list.
Definition: StructuredAnnotations.cpp:500