ome-xml  5.5.1
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 
137  private:
141 
142  public:
143  // -- OMEModelObject API methods --
144 
146  virtual void
147  update(const common::xml::dom::Element& element,
149 
150  public:
151  // -- StructuredAnnotations API methods --
152 
154  bool
155  link (std::shared_ptr<Reference>& reference,
156  std::shared_ptr<ome::xml::model::OMEModelObject>& object);
157 
163  std::vector<std::shared_ptr<ome::xml::model::XMLAnnotation>>::size_type
164  sizeOfXMLAnnotationList () const;
165 
172  std::vector<std::shared_ptr<ome::xml::model::XMLAnnotation>>&
174 
181  const std::vector<std::shared_ptr<ome::xml::model::XMLAnnotation>>&
182  getXMLAnnotationList () const;
183 
191  std::shared_ptr<ome::xml::model::XMLAnnotation>&
192  getXMLAnnotation (std::vector<std::shared_ptr<ome::xml::model::XMLAnnotation>>::size_type index);
193 
201  const std::shared_ptr<ome::xml::model::XMLAnnotation>&
202  getXMLAnnotation (std::vector<std::shared_ptr<ome::xml::model::XMLAnnotation>>::size_type index) const;
203 
211  void
212  setXMLAnnotation (std::vector<std::shared_ptr<ome::xml::model::XMLAnnotation>>::size_type index,
213  std::shared_ptr<ome::xml::model::XMLAnnotation>& xmlAnnotation);
214 
223  void
224  addXMLAnnotation (std::shared_ptr<ome::xml::model::XMLAnnotation>& xmlAnnotation);
225 
235  void
236  removeXMLAnnotation (std::shared_ptr<ome::xml::model::XMLAnnotation>& xmlAnnotation);
237 
243  std::vector<std::shared_ptr<ome::xml::model::FileAnnotation>>::size_type
244  sizeOfFileAnnotationList () const;
245 
252  std::vector<std::shared_ptr<ome::xml::model::FileAnnotation>>&
254 
261  const std::vector<std::shared_ptr<ome::xml::model::FileAnnotation>>&
262  getFileAnnotationList () const;
263 
271  std::shared_ptr<ome::xml::model::FileAnnotation>&
272  getFileAnnotation (std::vector<std::shared_ptr<ome::xml::model::FileAnnotation>>::size_type index);
273 
281  const std::shared_ptr<ome::xml::model::FileAnnotation>&
282  getFileAnnotation (std::vector<std::shared_ptr<ome::xml::model::FileAnnotation>>::size_type index) const;
283 
291  void
292  setFileAnnotation (std::vector<std::shared_ptr<ome::xml::model::FileAnnotation>>::size_type index,
293  std::shared_ptr<ome::xml::model::FileAnnotation>& fileAnnotation);
294 
303  void
304  addFileAnnotation (std::shared_ptr<ome::xml::model::FileAnnotation>& fileAnnotation);
305 
315  void
316  removeFileAnnotation (std::shared_ptr<ome::xml::model::FileAnnotation>& fileAnnotation);
317 
323  std::vector<std::shared_ptr<ome::xml::model::ListAnnotation>>::size_type
324  sizeOfListAnnotationList () const;
325 
332  std::vector<std::shared_ptr<ome::xml::model::ListAnnotation>>&
334 
341  const std::vector<std::shared_ptr<ome::xml::model::ListAnnotation>>&
342  getListAnnotationList () const;
343 
351  std::shared_ptr<ome::xml::model::ListAnnotation>&
352  getListAnnotation (std::vector<std::shared_ptr<ome::xml::model::ListAnnotation>>::size_type index);
353 
361  const std::shared_ptr<ome::xml::model::ListAnnotation>&
362  getListAnnotation (std::vector<std::shared_ptr<ome::xml::model::ListAnnotation>>::size_type index) const;
363 
371  void
372  setListAnnotation (std::vector<std::shared_ptr<ome::xml::model::ListAnnotation>>::size_type index,
373  std::shared_ptr<ome::xml::model::ListAnnotation>& listAnnotation);
374 
383  void
384  addListAnnotation (std::shared_ptr<ome::xml::model::ListAnnotation>& listAnnotation);
385 
395  void
396  removeListAnnotation (std::shared_ptr<ome::xml::model::ListAnnotation>& listAnnotation);
397 
403  std::vector<std::shared_ptr<ome::xml::model::LongAnnotation>>::size_type
404  sizeOfLongAnnotationList () const;
405 
412  std::vector<std::shared_ptr<ome::xml::model::LongAnnotation>>&
414 
421  const std::vector<std::shared_ptr<ome::xml::model::LongAnnotation>>&
422  getLongAnnotationList () const;
423 
431  std::shared_ptr<ome::xml::model::LongAnnotation>&
432  getLongAnnotation (std::vector<std::shared_ptr<ome::xml::model::LongAnnotation>>::size_type index);
433 
441  const std::shared_ptr<ome::xml::model::LongAnnotation>&
442  getLongAnnotation (std::vector<std::shared_ptr<ome::xml::model::LongAnnotation>>::size_type index) const;
443 
451  void
452  setLongAnnotation (std::vector<std::shared_ptr<ome::xml::model::LongAnnotation>>::size_type index,
453  std::shared_ptr<ome::xml::model::LongAnnotation>& longAnnotation);
454 
463  void
464  addLongAnnotation (std::shared_ptr<ome::xml::model::LongAnnotation>& longAnnotation);
465 
475  void
476  removeLongAnnotation (std::shared_ptr<ome::xml::model::LongAnnotation>& longAnnotation);
477 
483  std::vector<std::shared_ptr<ome::xml::model::DoubleAnnotation>>::size_type
485 
492  std::vector<std::shared_ptr<ome::xml::model::DoubleAnnotation>>&
494 
501  const std::vector<std::shared_ptr<ome::xml::model::DoubleAnnotation>>&
502  getDoubleAnnotationList () const;
503 
511  std::shared_ptr<ome::xml::model::DoubleAnnotation>&
512  getDoubleAnnotation (std::vector<std::shared_ptr<ome::xml::model::DoubleAnnotation>>::size_type index);
513 
521  const std::shared_ptr<ome::xml::model::DoubleAnnotation>&
522  getDoubleAnnotation (std::vector<std::shared_ptr<ome::xml::model::DoubleAnnotation>>::size_type index) const;
523 
531  void
532  setDoubleAnnotation (std::vector<std::shared_ptr<ome::xml::model::DoubleAnnotation>>::size_type index,
533  std::shared_ptr<ome::xml::model::DoubleAnnotation>& doubleAnnotation);
534 
543  void
544  addDoubleAnnotation (std::shared_ptr<ome::xml::model::DoubleAnnotation>& doubleAnnotation);
545 
555  void
556  removeDoubleAnnotation (std::shared_ptr<ome::xml::model::DoubleAnnotation>& doubleAnnotation);
557 
563  std::vector<std::shared_ptr<ome::xml::model::CommentAnnotation>>::size_type
565 
572  std::vector<std::shared_ptr<ome::xml::model::CommentAnnotation>>&
574 
581  const std::vector<std::shared_ptr<ome::xml::model::CommentAnnotation>>&
582  getCommentAnnotationList () const;
583 
591  std::shared_ptr<ome::xml::model::CommentAnnotation>&
592  getCommentAnnotation (std::vector<std::shared_ptr<ome::xml::model::CommentAnnotation>>::size_type index);
593 
601  const std::shared_ptr<ome::xml::model::CommentAnnotation>&
602  getCommentAnnotation (std::vector<std::shared_ptr<ome::xml::model::CommentAnnotation>>::size_type index) const;
603 
611  void
612  setCommentAnnotation (std::vector<std::shared_ptr<ome::xml::model::CommentAnnotation>>::size_type index,
613  std::shared_ptr<ome::xml::model::CommentAnnotation>& commentAnnotation);
614 
623  void
624  addCommentAnnotation (std::shared_ptr<ome::xml::model::CommentAnnotation>& commentAnnotation);
625 
635  void
636  removeCommentAnnotation (std::shared_ptr<ome::xml::model::CommentAnnotation>& commentAnnotation);
637 
643  std::vector<std::shared_ptr<ome::xml::model::BooleanAnnotation>>::size_type
645 
652  std::vector<std::shared_ptr<ome::xml::model::BooleanAnnotation>>&
654 
661  const std::vector<std::shared_ptr<ome::xml::model::BooleanAnnotation>>&
662  getBooleanAnnotationList () const;
663 
671  std::shared_ptr<ome::xml::model::BooleanAnnotation>&
672  getBooleanAnnotation (std::vector<std::shared_ptr<ome::xml::model::BooleanAnnotation>>::size_type index);
673 
681  const std::shared_ptr<ome::xml::model::BooleanAnnotation>&
682  getBooleanAnnotation (std::vector<std::shared_ptr<ome::xml::model::BooleanAnnotation>>::size_type index) const;
683 
691  void
692  setBooleanAnnotation (std::vector<std::shared_ptr<ome::xml::model::BooleanAnnotation>>::size_type index,
693  std::shared_ptr<ome::xml::model::BooleanAnnotation>& booleanAnnotation);
694 
703  void
704  addBooleanAnnotation (std::shared_ptr<ome::xml::model::BooleanAnnotation>& booleanAnnotation);
705 
715  void
716  removeBooleanAnnotation (std::shared_ptr<ome::xml::model::BooleanAnnotation>& booleanAnnotation);
717 
723  std::vector<std::shared_ptr<ome::xml::model::TimestampAnnotation>>::size_type
725 
732  std::vector<std::shared_ptr<ome::xml::model::TimestampAnnotation>>&
734 
741  const std::vector<std::shared_ptr<ome::xml::model::TimestampAnnotation>>&
743 
751  std::shared_ptr<ome::xml::model::TimestampAnnotation>&
752  getTimestampAnnotation (std::vector<std::shared_ptr<ome::xml::model::TimestampAnnotation>>::size_type index);
753 
761  const std::shared_ptr<ome::xml::model::TimestampAnnotation>&
762  getTimestampAnnotation (std::vector<std::shared_ptr<ome::xml::model::TimestampAnnotation>>::size_type index) const;
763 
771  void
772  setTimestampAnnotation (std::vector<std::shared_ptr<ome::xml::model::TimestampAnnotation>>::size_type index,
773  std::shared_ptr<ome::xml::model::TimestampAnnotation>& timestampAnnotation);
774 
783  void
784  addTimestampAnnotation (std::shared_ptr<ome::xml::model::TimestampAnnotation>& timestampAnnotation);
785 
795  void
796  removeTimestampAnnotation (std::shared_ptr<ome::xml::model::TimestampAnnotation>& timestampAnnotation);
797 
803  std::vector<std::shared_ptr<ome::xml::model::TagAnnotation>>::size_type
804  sizeOfTagAnnotationList () const;
805 
812  std::vector<std::shared_ptr<ome::xml::model::TagAnnotation>>&
814 
821  const std::vector<std::shared_ptr<ome::xml::model::TagAnnotation>>&
822  getTagAnnotationList () const;
823 
831  std::shared_ptr<ome::xml::model::TagAnnotation>&
832  getTagAnnotation (std::vector<std::shared_ptr<ome::xml::model::TagAnnotation>>::size_type index);
833 
841  const std::shared_ptr<ome::xml::model::TagAnnotation>&
842  getTagAnnotation (std::vector<std::shared_ptr<ome::xml::model::TagAnnotation>>::size_type index) const;
843 
851  void
852  setTagAnnotation (std::vector<std::shared_ptr<ome::xml::model::TagAnnotation>>::size_type index,
853  std::shared_ptr<ome::xml::model::TagAnnotation>& tagAnnotation);
854 
863  void
864  addTagAnnotation (std::shared_ptr<ome::xml::model::TagAnnotation>& tagAnnotation);
865 
875  void
876  removeTagAnnotation (std::shared_ptr<ome::xml::model::TagAnnotation>& tagAnnotation);
877 
883  std::vector<std::shared_ptr<ome::xml::model::TermAnnotation>>::size_type
884  sizeOfTermAnnotationList () const;
885 
892  std::vector<std::shared_ptr<ome::xml::model::TermAnnotation>>&
894 
901  const std::vector<std::shared_ptr<ome::xml::model::TermAnnotation>>&
902  getTermAnnotationList () const;
903 
911  std::shared_ptr<ome::xml::model::TermAnnotation>&
912  getTermAnnotation (std::vector<std::shared_ptr<ome::xml::model::TermAnnotation>>::size_type index);
913 
921  const std::shared_ptr<ome::xml::model::TermAnnotation>&
922  getTermAnnotation (std::vector<std::shared_ptr<ome::xml::model::TermAnnotation>>::size_type index) const;
923 
931  void
932  setTermAnnotation (std::vector<std::shared_ptr<ome::xml::model::TermAnnotation>>::size_type index,
933  std::shared_ptr<ome::xml::model::TermAnnotation>& termAnnotation);
934 
943  void
944  addTermAnnotation (std::shared_ptr<ome::xml::model::TermAnnotation>& termAnnotation);
945 
955  void
956  removeTermAnnotation (std::shared_ptr<ome::xml::model::TermAnnotation>& termAnnotation);
957 
963  std::vector<std::shared_ptr<ome::xml::model::MapAnnotation>>::size_type
964  sizeOfMapAnnotationList () const;
965 
972  std::vector<std::shared_ptr<ome::xml::model::MapAnnotation>>&
974 
981  const std::vector<std::shared_ptr<ome::xml::model::MapAnnotation>>&
982  getMapAnnotationList () const;
983 
991  std::shared_ptr<ome::xml::model::MapAnnotation>&
992  getMapAnnotation (std::vector<std::shared_ptr<ome::xml::model::MapAnnotation>>::size_type index);
993 
1001  const std::shared_ptr<ome::xml::model::MapAnnotation>&
1002  getMapAnnotation (std::vector<std::shared_ptr<ome::xml::model::MapAnnotation>>::size_type index) const;
1003 
1011  void
1012  setMapAnnotation (std::vector<std::shared_ptr<ome::xml::model::MapAnnotation>>::size_type index,
1013  std::shared_ptr<ome::xml::model::MapAnnotation>& mapAnnotation);
1014 
1023  void
1024  addMapAnnotation (std::shared_ptr<ome::xml::model::MapAnnotation>& mapAnnotation);
1025 
1035  void
1036  removeMapAnnotation (std::shared_ptr<ome::xml::model::MapAnnotation>& mapAnnotation);
1037 
1038  protected:
1039  // Documented in base class.
1040  virtual void
1042  common::xml::dom::Element& element) const;
1043 
1044  public:
1045  // Documented in superclass.
1046  const std::string&
1047  getXMLNamespace() const;
1048  };
1049 
1050  }
1051  }
1052 }
1053 
1054 #endif // OME_XML_MODEL_STRUCTUREDANNOTATIONS_H
1055 
1056 /*
1057  * Local Variables:
1058  * mode:C++
1059  * End:
1060  */
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:666
std::vector< std::shared_ptr< ome::xml::model::LongAnnotation > > & getLongAnnotationList()
Get the LongAnnotation list.
Definition: StructuredAnnotations.cpp:556
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:870
bool validElementName(const std::string &name) const
Check if a given element name is valid for processing by this model object.
Definition: StructuredAnnotations.cpp:231
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:742
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:887
StructuredAnnotations model object.
Definition: StructuredAnnotations.h:89
void addLongAnnotation(std::shared_ptr< ome::xml::model::LongAnnotation > &longAnnotation)
Add LongAnnotation.
Definition: StructuredAnnotations.cpp:589
std::vector< std::shared_ptr< ome::xml::model::CommentAnnotation > > & getCommentAnnotationList()
Get the CommentAnnotation list.
Definition: StructuredAnnotations.cpp:672
std::vector< std::shared_ptr< ome::xml::model::TermAnnotation > > & getTermAnnotationList()
Get the TermAnnotation list.
Definition: StructuredAnnotations.cpp:904
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:361
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:800
OME model object (concrete implementation).
Definition: OMEModelObject.h:64
void addDoubleAnnotation(std::shared_ptr< ome::xml::model::DoubleAnnotation > &doubleAnnotation)
Add DoubleAnnotation.
Definition: StructuredAnnotations.cpp:647
void removeBooleanAnnotation(std::shared_ptr< ome::xml::model::BooleanAnnotation > &booleanAnnotation)
Remove BooleanAnnotation.
Definition: StructuredAnnotations.cpp:771
std::vector< std::shared_ptr< ome::xml::model::BooleanAnnotation > > & getBooleanAnnotationList()
Get the BooleanAnnotation list.
Definition: StructuredAnnotations.cpp:730
std::vector< std::shared_ptr< ome::xml::model::FileAnnotation > >::size_type sizeOfFileAnnotationList() const
Get size of linked FileAnnotation list.
Definition: StructuredAnnotations.cpp:434
std::vector< std::shared_ptr< ome::xml::model::MapAnnotation > > & getMapAnnotationList()
Get the MapAnnotation list.
Definition: StructuredAnnotations.cpp:962
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:406
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:858
void addFileAnnotation(std::shared_ptr< ome::xml::model::FileAnnotation > &fileAnnotation)
Add FileAnnotation.
Definition: StructuredAnnotations.cpp:473
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:974
std::vector< std::shared_ptr< ome::xml::model::LongAnnotation > >::size_type sizeOfLongAnnotationList() const
Get size of linked LongAnnotation list.
Definition: StructuredAnnotations.cpp:550
std::vector< std::shared_ptr< ome::xml::model::ListAnnotation > > & getListAnnotationList()
Get the ListAnnotation list.
Definition: StructuredAnnotations.cpp:498
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:580
void addTermAnnotation(std::shared_ptr< ome::xml::model::TermAnnotation > &termAnnotation)
Add TermAnnotation.
Definition: StructuredAnnotations.cpp:937
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:928
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:452
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:754
void removeDoubleAnnotation(std::shared_ptr< ome::xml::model::DoubleAnnotation > &doubleAnnotation)
Remove DoubleAnnotation.
Definition: StructuredAnnotations.cpp:655
std::vector< std::shared_ptr< ome::xml::model::XMLAnnotation > > & getXMLAnnotationList()
Get the XMLAnnotation list.
Definition: StructuredAnnotations.cpp:382
const std::string & getXMLNamespace() const
Get the XML namespace for this model object.
Definition: StructuredAnnotations.cpp:1173
void removeFileAnnotation(std::shared_ptr< ome::xml::model::FileAnnotation > &fileAnnotation)
Remove FileAnnotation.
Definition: StructuredAnnotations.cpp:481
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:1013
std::vector< std::shared_ptr< ome::xml::model::DoubleAnnotation > >::size_type sizeOfDoubleAnnotationList() const
Get size of linked DoubleAnnotation list.
Definition: StructuredAnnotations.cpp:608
Open Microscopy Environment C++ implementation.
void removeListAnnotation(std::shared_ptr< ome::xml::model::ListAnnotation > &listAnnotation)
Remove ListAnnotation.
Definition: StructuredAnnotations.cpp:539
void addTimestampAnnotation(std::shared_ptr< ome::xml::model::TimestampAnnotation > &timestampAnnotation)
Add TimestampAnnotation.
Definition: StructuredAnnotations.cpp:821
StructuredAnnotations & operator=(const StructuredAnnotations &)
Assignment operator (deleted).
std::vector< std::shared_ptr< ome::xml::model::TagAnnotation > >::size_type sizeOfTagAnnotationList() const
Get size of linked TagAnnotation list.
Definition: StructuredAnnotations.cpp:840
std::vector< std::shared_ptr< ome::xml::model::FileAnnotation > > & getFileAnnotationList()
Get the FileAnnotation list.
Definition: StructuredAnnotations.cpp:440
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:684
void addCommentAnnotation(std::shared_ptr< ome::xml::model::CommentAnnotation > &commentAnnotation)
Add CommentAnnotation.
Definition: StructuredAnnotations.cpp:705
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:394
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:464
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:568
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:510
StructuredAnnotations()
Default constructor.
Definition: StructuredAnnotations.cpp:195
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:696
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:986
std::vector< std::shared_ptr< ome::xml::model::DoubleAnnotation > > & getDoubleAnnotationList()
Get the DoubleAnnotation list.
Definition: StructuredAnnotations.cpp:614
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:812
void addMapAnnotation(std::shared_ptr< ome::xml::model::MapAnnotation > &mapAnnotation)
Add MapAnnotation.
Definition: StructuredAnnotations.cpp:995
void addBooleanAnnotation(std::shared_ptr< ome::xml::model::BooleanAnnotation > &booleanAnnotation)
Add BooleanAnnotation.
Definition: StructuredAnnotations.cpp:763
void removeCommentAnnotation(std::shared_ptr< ome::xml::model::CommentAnnotation > &commentAnnotation)
Remove CommentAnnotation.
Definition: StructuredAnnotations.cpp:713
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:956
void addXMLAnnotation(std::shared_ptr< ome::xml::model::XMLAnnotation > &xmlAnnotation)
Add XMLAnnotation.
Definition: StructuredAnnotations.cpp:415
void removeXMLAnnotation(std::shared_ptr< ome::xml::model::XMLAnnotation > &xmlAnnotation)
Remove XMLAnnotation.
Definition: StructuredAnnotations.cpp:423
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:916
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:522
std::vector< std::shared_ptr< ome::xml::model::XMLAnnotation > >::size_type sizeOfXMLAnnotationList() const
Get size of linked XMLAnnotation list.
Definition: StructuredAnnotations.cpp:376
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:237
const std::string & elementName() const
Get the element name of this model object.
Definition: StructuredAnnotations.cpp:224
void addListAnnotation(std::shared_ptr< ome::xml::model::ListAnnotation > &listAnnotation)
Add ListAnnotation.
Definition: StructuredAnnotations.cpp:531
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:215
void removeLongAnnotation(std::shared_ptr< ome::xml::model::LongAnnotation > &longAnnotation)
Remove LongAnnotation.
Definition: StructuredAnnotations.cpp:597
void removeTimestampAnnotation(std::shared_ptr< ome::xml::model::TimestampAnnotation > &timestampAnnotation)
Remove TimestampAnnotation.
Definition: StructuredAnnotations.cpp:829
std::vector< std::shared_ptr< ome::xml::model::BooleanAnnotation > >::size_type sizeOfBooleanAnnotationList() const
Get size of linked BooleanAnnotation list.
Definition: StructuredAnnotations.cpp:724
std::vector< std::shared_ptr< ome::xml::model::TimestampAnnotation > >::size_type sizeOfTimestampAnnotationList() const
Get size of linked TimestampAnnotation list.
Definition: StructuredAnnotations.cpp:782
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:638
void removeTermAnnotation(std::shared_ptr< ome::xml::model::TermAnnotation > &termAnnotation)
Remove TermAnnotation.
Definition: StructuredAnnotations.cpp:945
void removeMapAnnotation(std::shared_ptr< ome::xml::model::MapAnnotation > &mapAnnotation)
Remove MapAnnotation.
Definition: StructuredAnnotations.cpp:1003
virtual ~StructuredAnnotations()
Destructor.
Definition: StructuredAnnotations.cpp:210
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:626
void addTagAnnotation(std::shared_ptr< ome::xml::model::TagAnnotation > &tagAnnotation)
Add TagAnnotation.
Definition: StructuredAnnotations.cpp:879
std::vector< std::shared_ptr< ome::xml::model::TagAnnotation > > & getTagAnnotationList()
Get the TagAnnotation list.
Definition: StructuredAnnotations.cpp:846
std::vector< std::shared_ptr< ome::xml::model::TimestampAnnotation > > & getTimestampAnnotationList()
Get the TimestampAnnotation list.
Definition: StructuredAnnotations.cpp:788
std::vector< std::shared_ptr< ome::xml::model::TermAnnotation > >::size_type sizeOfTermAnnotationList() const
Get size of linked TermAnnotation list.
Definition: StructuredAnnotations.cpp:898
std::vector< std::shared_ptr< ome::xml::model::ListAnnotation > >::size_type sizeOfListAnnotationList() const
Get size of linked ListAnnotation list.
Definition: StructuredAnnotations.cpp:492