ome-xml  5.2.4
Plate.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_PLATE_H
47 #define OME_XML_MODEL_PLATE_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/primitives/Quantity.h>
63 
64 #include <ome/xml/model/detail/OMEModelObject.h>
65 #include <ome/xml/model/enums/NamingConvention.h>
66 #include <ome/xml/model/enums/UnitsLength.h>
67 #include <ome/xml/model/primitives/NonNegativeInteger.h>
68 #include <ome/xml/model/primitives/PositiveInteger.h>
69 
70 namespace ome
71 {
72  namespace xml
73  {
74  namespace model
75  {
76 
77  // Forward declarations.
78  class Annotation;
79  class OMEModel;
80  class PlateAcquisition;
81  class Screen;
82  class Well;
83 
88  {
89  private:
90  class Impl;
92  ome::compat::shared_ptr<Impl> impl;
93 
94  public:
96  Plate();
97 
103  Plate (const Plate& copy);
104 
106  virtual
107  ~Plate ();
108 
123  static ome::compat::shared_ptr< Plate>
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  private:
137  Plate&
138  operator= (const Plate&);
139 
140  public:
141  // -- OMEModelObject API methods --
142 
144  virtual void
145  update(const common::xml::dom::Element& element,
147 
148  public:
149  // -- Plate API methods --
150 
152  bool
153  link (ome::compat::shared_ptr<Reference>& reference,
154  ome::compat::shared_ptr< ome::xml::model::OMEModelObject>& object);
155 
161  ome::compat::shared_ptr<std::string>
162  getStatus ();
163 
169  const ome::compat::shared_ptr<std::string>
170  getStatus () const;
171 
177  void
178  setStatus (ome::compat::shared_ptr<std::string>& status);
179 
185  ome::compat::shared_ptr<ome::xml::model::primitives::PositiveInteger>
186  getRows ();
187 
193  const ome::compat::shared_ptr<ome::xml::model::primitives::PositiveInteger>
194  getRows () const;
195 
201  void
202  setRows (ome::compat::shared_ptr<ome::xml::model::primitives::PositiveInteger>& rows);
203 
209  ome::compat::shared_ptr<std::string>
211 
217  const ome::compat::shared_ptr<std::string>
218  getExternalIdentifier () const;
219 
225  void
226  setExternalIdentifier (ome::compat::shared_ptr<std::string>& externalIdentifier);
227 
233  ome::compat::shared_ptr<ome::xml::model::enums::NamingConvention>
235 
241  const ome::compat::shared_ptr<ome::xml::model::enums::NamingConvention>
242  getRowNamingConvention () const;
243 
249  void
250  setRowNamingConvention (ome::compat::shared_ptr<ome::xml::model::enums::NamingConvention>& rowNamingConvention);
251 
257  ome::compat::shared_ptr<ome::xml::model::enums::NamingConvention>
259 
265  const ome::compat::shared_ptr<ome::xml::model::enums::NamingConvention>
266  getColumnNamingConvention () const;
267 
273  void
274  setColumnNamingConvention (ome::compat::shared_ptr<ome::xml::model::enums::NamingConvention>& columnNamingConvention);
275 
281  ome::compat::shared_ptr<ome::xml::model::primitives::NonNegativeInteger>
282  getFieldIndex ();
283 
289  const ome::compat::shared_ptr<ome::xml::model::primitives::NonNegativeInteger>
290  getFieldIndex () const;
291 
297  void
298  setFieldIndex (ome::compat::shared_ptr<ome::xml::model::primitives::NonNegativeInteger>& fieldIndex);
299 
305  ome::compat::shared_ptr<ome::xml::model::primitives::PositiveInteger>
306  getColumns ();
307 
313  const ome::compat::shared_ptr<ome::xml::model::primitives::PositiveInteger>
314  getColumns () const;
315 
321  void
322  setColumns (ome::compat::shared_ptr<ome::xml::model::primitives::PositiveInteger>& columns);
323 
329  ome::compat::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength > >&
330  getWellOriginY ();
331 
337  const ome::compat::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength > >&
338  getWellOriginY () const;
339 
345  void
347 
353  ome::compat::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength > >&
354  getWellOriginX ();
355 
361  const ome::compat::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength > >&
362  getWellOriginX () const;
363 
369  void
371 
377  const std::string&
378  getID () const;
379 
385  void
386  setID (const std::string& id);
387 
393  ome::compat::shared_ptr<std::string>
394  getName ();
395 
401  const ome::compat::shared_ptr<std::string>
402  getName () const;
403 
409  void
410  setName (ome::compat::shared_ptr<std::string>& name);
411 
417  ome::compat::shared_ptr<std::string>
418  getDescription ();
419 
425  const ome::compat::shared_ptr<std::string>
426  getDescription () const;
427 
433  void
434  setDescription (ome::compat::shared_ptr<std::string>& description);
435 
441  std::vector<ome::compat::shared_ptr<ome::xml::model::Well> >::size_type
442  sizeOfWellList () const;
443 
450  std::vector<ome::compat::shared_ptr<ome::xml::model::Well> >&
451  getWellList ();
452 
459  const std::vector<ome::compat::shared_ptr<ome::xml::model::Well> >&
460  getWellList () const;
461 
469  ome::compat::shared_ptr<ome::xml::model::Well>&
470  getWell (std::vector<ome::compat::shared_ptr<ome::xml::model::Well> >::size_type index);
471 
479  const ome::compat::shared_ptr<ome::xml::model::Well>&
480  getWell (std::vector<ome::compat::shared_ptr<ome::xml::model::Well> >::size_type index) const;
481 
489  void
490  setWell (std::vector<ome::compat::shared_ptr<ome::xml::model::Well> >::size_type index,
491  ome::compat::shared_ptr<ome::xml::model::Well>& well);
492 
501  void
502  addWell (ome::compat::shared_ptr<ome::xml::model::Well>& well);
503 
513  void
514  removeWell (ome::compat::shared_ptr<ome::xml::model::Well>& well);
515 
523 
530  getLinkedAnnotationList () const;
531 
539  const ome::compat::weak_ptr<ome::xml::model::Annotation>&
541 
552  const ome::compat::weak_ptr<ome::xml::model::Annotation>&
554  const ome::compat::shared_ptr<ome::xml::model::Annotation>& annotation);
555 
566  bool
567  linkAnnotation (const ome::compat::shared_ptr<ome::xml::model::Annotation>& annotation);
568 
584  bool
585  unlinkAnnotation (const ome::compat::shared_ptr<ome::xml::model::Annotation>& annotation);
586 
592  std::vector<ome::compat::shared_ptr<ome::xml::model::PlateAcquisition> >::size_type
594 
601  std::vector<ome::compat::shared_ptr<ome::xml::model::PlateAcquisition> >&
603 
610  const std::vector<ome::compat::shared_ptr<ome::xml::model::PlateAcquisition> >&
611  getPlateAcquisitionList () const;
612 
620  ome::compat::shared_ptr<ome::xml::model::PlateAcquisition>&
621  getPlateAcquisition (std::vector<ome::compat::shared_ptr<ome::xml::model::PlateAcquisition> >::size_type index);
622 
630  const ome::compat::shared_ptr<ome::xml::model::PlateAcquisition>&
631  getPlateAcquisition (std::vector<ome::compat::shared_ptr<ome::xml::model::PlateAcquisition> >::size_type index) const;
632 
640  void
641  setPlateAcquisition (std::vector<ome::compat::shared_ptr<ome::xml::model::PlateAcquisition> >::size_type index,
642  ome::compat::shared_ptr<ome::xml::model::PlateAcquisition>& plateAcquisition);
643 
652  void
653  addPlateAcquisition (ome::compat::shared_ptr<ome::xml::model::PlateAcquisition>& plateAcquisition);
654 
664  void
665  removePlateAcquisition (ome::compat::shared_ptr<ome::xml::model::PlateAcquisition>& plateAcquisition);
666 
673  sizeOfLinkedScreenList () const;
674 
681  getLinkedScreenList () const;
682 
690  const ome::compat::weak_ptr<ome::xml::model::Screen>&
692 
703  const ome::compat::weak_ptr<ome::xml::model::Screen>&
705  const ome::compat::shared_ptr<ome::xml::model::Screen>& screen_BackReference);
706 
717  bool
718  linkScreen (const ome::compat::shared_ptr<ome::xml::model::Screen>& screen_BackReference);
719 
735  bool
736  unlinkScreen (const ome::compat::shared_ptr<ome::xml::model::Screen>& screen_BackReference);
737 
740  asXMLElement (common::xml::dom::Document& document) const;
741 
742 
743  protected:
744  // Documented in base class.
747  common::xml::dom::Element& element) const;
748 
749  public:
750  // Documented in superclass.
751  const std::string&
752  getXMLNamespace() const;
753  };
754 
755  }
756  }
757 }
758 
759 #endif // OME_XML_MODEL_PLATE_H
760 
761 /*
762  * Local Variables:
763  * mode:C++
764  * End:
765  */
OME model interface (abstract top-level container)
Definition: OMEModel.h:62
void setWell(std::vector< ome::compat::shared_ptr< ome::xml::model::Well > >::size_type index, ome::compat::shared_ptr< ome::xml::model::Well > &well)
Set Well.
Definition: Plate.cpp:754
bool linkScreen(const ome::compat::shared_ptr< ome::xml::model::Screen > &screen_BackReference)
Link Screen.
Definition: Plate.cpp:928
virtual ~Plate()
Destructor.
Definition: Plate.cpp:242
Plate model object.
Definition: Plate.h:87
const std::string & elementName() const
Get the element name of this model object.
Definition: Plate.cpp:256
bool unlinkAnnotation(const ome::compat::shared_ptr< ome::xml::model::Annotation > &annotation)
Unlink Annotation.
Definition: Plate.cpp:824
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: Plate.cpp:271
const ome::compat::weak_ptr< ome::xml::model::Screen > & getLinkedScreen(OMEModelObject::indexed_container< ome::xml::model::Screen, ome::compat::weak_ptr >::type::size_type index) const
Get linked Screen.
Definition: Plate.cpp:912
void setWellOriginX(const ome::compat::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsLength > > &wellOriginX)
Set the WellOriginX property.
Definition: Plate.cpp:661
void removeWell(ome::compat::shared_ptr< ome::xml::model::Well > &well)
Remove Well.
Definition: Plate.cpp:771
void setID(const std::string &id)
Set the ID property.
Definition: Plate.cpp:675
const std::string & getID() const
Get the ID property.
Definition: Plate.cpp:668
Plate & operator=(const Plate &)
Assignment operator (deleted).
void setWellOriginY(const ome::compat::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsLength > > &wellOriginY)
Set the WellOriginY property.
Definition: Plate.cpp:640
const ome::compat::weak_ptr< ome::xml::model::Annotation > & getLinkedAnnotation(OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type::size_type index) const
Get linked Annotation.
Definition: Plate.cpp:794
OME model object (concrete implementation).
Definition: OMEModelObject.h:64
boost::multi_index_container< Ptr< T >, boost::multi_index::indexed_by< boost::multi_index::random_access<>, boost::multi_index::ordered_unique< boost::multi_index::identity< Ptr< T > >, ome::compat::owner_less< Ptr< T > > > > > type
Multi-index container type.
Definition: OMEModelObject.h:94
const ome::compat::weak_ptr< ome::xml::model::Screen > & setLinkedScreen(OMEModelObject::indexed_container< ome::xml::model::Screen, ome::compat::weak_ptr >::type::size_type index, const ome::compat::shared_ptr< ome::xml::model::Screen > &screen_BackReference)
Set linked Screen.
Definition: Plate.cpp:918
void addPlateAcquisition(ome::compat::shared_ptr< ome::xml::model::PlateAcquisition > &plateAcquisition)
Add PlateAcquisition.
Definition: Plate.cpp:881
bool linkAnnotation(const ome::compat::shared_ptr< ome::xml::model::Annotation > &annotation)
Link Annotation.
Definition: Plate.cpp:810
ome::compat::shared_ptr< ome::xml::model::primitives::PositiveInteger > getColumns()
Get the Columns property.
Definition: Plate.cpp:605
void setRowNamingConvention(ome::compat::shared_ptr< ome::xml::model::enums::NamingConvention > &rowNamingConvention)
Set the RowNamingConvention property.
Definition: Plate.cpp:556
void setRows(ome::compat::shared_ptr< ome::xml::model::primitives::PositiveInteger > &rows)
Set the Rows property.
Definition: Plate.cpp:514
ome::compat::shared_ptr< ome::xml::model::enums::NamingConvention > getRowNamingConvention()
Get the RowNamingConvention property.
Definition: Plate.cpp:542
Plate()
Default constructor.
Definition: Plate.cpp:227
ome::compat::shared_ptr< std::string > getDescription()
Get the Description property.
Definition: Plate.cpp:703
void setDescription(ome::compat::shared_ptr< std::string > &description)
Set the Description property.
Definition: Plate.cpp:717
void setExternalIdentifier(ome::compat::shared_ptr< std::string > &externalIdentifier)
Set the ExternalIdentifier property.
Definition: Plate.cpp:535
void setStatus(ome::compat::shared_ptr< std::string > &status)
Set the Status property.
Definition: Plate.cpp:493
ome::compat::shared_ptr< ome::xml::model::PlateAcquisition > & getPlateAcquisition(std::vector< ome::compat::shared_ptr< ome::xml::model::PlateAcquisition > >::size_type index)
Get PlateAcquisition.
Definition: Plate.cpp:860
bool validElementName(const std::string &name) const
Check if a given element name is valid for processing by this model object.
Definition: Plate.cpp:263
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: Plate.cpp:964
OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type getLinkedAnnotationList() const
Get the linked Annotation list.
Definition: Plate.cpp:788
Multi-index container for efficient ordered insertion and deletion of model object references...
Definition: OMEModelObject.h:85
std::vector< ome::compat::shared_ptr< ome::xml::model::Well > > & getWellList()
Get the Well list.
Definition: Plate.cpp:730
Open Microscopy Environment C++ implementation.
std::vector< ome::compat::shared_ptr< ome::xml::model::PlateAcquisition > >::size_type sizeOfPlateAcquisitionList() const
Get size of linked PlateAcquisition list.
Definition: Plate.cpp:842
ome::compat::shared_ptr< std::string > getName()
Get the Name property.
Definition: Plate.cpp:682
void addWell(ome::compat::shared_ptr< ome::xml::model::Well > &well)
Add Well.
Definition: Plate.cpp:763
ome::compat::shared_ptr< ome::xml::model::primitives::PositiveInteger > getRows()
Get the Rows property.
Definition: Plate.cpp:500
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: Plate.cpp:448
void setColumns(ome::compat::shared_ptr< ome::xml::model::primitives::PositiveInteger > &columns)
Set the Columns property.
Definition: Plate.cpp:619
OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type::size_type sizeOfLinkedAnnotationList() const
Get size of linked Annotation list.
Definition: Plate.cpp:782
void setColumnNamingConvention(ome::compat::shared_ptr< ome::xml::model::enums::NamingConvention > &columnNamingConvention)
Set the ColumnNamingConvention property.
Definition: Plate.cpp:577
void setFieldIndex(ome::compat::shared_ptr< ome::xml::model::primitives::NonNegativeInteger > &fieldIndex)
Set the FieldIndex property.
Definition: Plate.cpp:598
ome::compat::shared_ptr< std::string > getStatus()
Get the Status property.
Definition: Plate.cpp:479
std::vector< ome::compat::shared_ptr< ome::xml::model::Well > >::size_type sizeOfWellList() const
Get size of linked Well list.
Definition: Plate.cpp:724
ome::compat::shared_ptr< std::string > getExternalIdentifier()
Get the ExternalIdentifier property.
Definition: Plate.cpp:521
void removePlateAcquisition(ome::compat::shared_ptr< ome::xml::model::PlateAcquisition > &plateAcquisition)
Remove PlateAcquisition.
Definition: Plate.cpp:889
ome::compat::shared_ptr< ome::xml::model::enums::NamingConvention > getColumnNamingConvention()
Get the ColumnNamingConvention property.
Definition: Plate.cpp:563
OMEModelObject::indexed_container< ome::xml::model::Screen, ome::compat::weak_ptr >::type::size_type sizeOfLinkedScreenList() const
Get size of linked Screen list.
Definition: Plate.cpp:900
ome::compat::shared_ptr< ome::xml::model::primitives::NonNegativeInteger > getFieldIndex()
Get the FieldIndex property.
Definition: Plate.cpp:584
const std::string & getXMLNamespace() const
Get the XML namespace for this model object.
Definition: Plate.cpp:1179
A quantity of a defined unit.
Definition: Quantity.h:57
ome::compat::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsLength > > & getWellOriginX()
Get the WellOriginX property.
Definition: Plate.cpp:647
virtual common::xml::dom::Element asXMLElement(common::xml::dom::Document &document) const
Transform the object hierarchy rooted at this element to XML.
Definition: Plate.cpp:957
void setName(ome::compat::shared_ptr< std::string > &name)
Set the Name property.
Definition: Plate.cpp:696
bool unlinkScreen(const ome::compat::shared_ptr< ome::xml::model::Screen > &screen_BackReference)
Unlink Screen.
Definition: Plate.cpp:941
void setPlateAcquisition(std::vector< ome::compat::shared_ptr< ome::xml::model::PlateAcquisition > >::size_type index, ome::compat::shared_ptr< ome::xml::model::PlateAcquisition > &plateAcquisition)
Set PlateAcquisition.
Definition: Plate.cpp:872
ome::compat::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsLength > > & getWellOriginY()
Get the WellOriginY property.
Definition: Plate.cpp:626
std::vector< ome::compat::shared_ptr< ome::xml::model::PlateAcquisition > > & getPlateAcquisitionList()
Get the PlateAcquisition list.
Definition: Plate.cpp:848
const ome::compat::weak_ptr< ome::xml::model::Annotation > & setLinkedAnnotation(OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type::size_type index, const ome::compat::shared_ptr< ome::xml::model::Annotation > &annotation)
Set linked Annotation.
Definition: Plate.cpp:800
OMEModelObject::indexed_container< ome::xml::model::Screen, ome::compat::weak_ptr >::type getLinkedScreenList() const
Get the linked Screen list.
Definition: Plate.cpp:906
ome::compat::shared_ptr< Impl > impl
Private implementation details.
Definition: Plate.h:90
Private implementation details of Plate model object.
Definition: Plate.cpp:83
ome::compat::shared_ptr< ome::xml::model::Well > & getWell(std::vector< ome::compat::shared_ptr< ome::xml::model::Well > >::size_type index)
Get Well.
Definition: Plate.cpp:742
static ome::compat::shared_ptr< Plate > create(const common::xml::dom::Element &element, ome::xml::model::OMEModel &model)
Create a Plate model object from DOM element.
Definition: Plate.cpp:247