ome-xml 5.2.3

Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
ome::xml::model::Instrument Class Reference

Instrument model object. More...

`#include <ome/xml/model/Instrument.h>`

Inheritance diagram for ome::xml::model::Instrument:
[legend]
Collaboration diagram for ome::xml::model::Instrument:
[legend]

## Classes
class | Impl
| Private implementation details of Instrument model object. More...

## Public Member Functions
| Instrument ()
| Default constructor.
| Instrument (const Instrument &copy)
| Copy constructor. More...
virtual | ~Instrument ()
| Destructor.
const std::string & | elementName () const
| Get the element name of this model object. More...
bool | validElementName (const std::string &name) const
| Check if a given element name is valid for processing by this model object. More...
virtual void | update (const common::xml::dom::Element &element, ome::xml::model::OMEModel &model)
| Update the object hierarchy recursively from an XML DOM tree. More...
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. More...
const std::string & | getID () const
| Get the ID property. More...
void | setID (const std::string &id)
| Set the ID property. More...
ome::compat::shared_ptr< ome::xml::model::Microscope > | getMicroscope ()
| Get the Microscope property. More...
const ome::compat::shared_ptr< ome::xml::model::Microscope > | getMicroscope () const
| Get the Microscope property. More...
void | setMicroscope (ome::compat::shared_ptr< ome::xml::model::Microscope > &microscope)
| Set the Microscope property. More...
std::vector< ome::compat::shared_ptr< ome::xml::model::LightSource > >::size_type | sizeOfLightSourceList () const
| Get size of linked LightSource list. More...
std::vector< ome::compat::shared_ptr< ome::xml::model::LightSource > > & | getLightSourceList ()
| Get the LightSource list. More...
const std::vector< ome::compat::shared_ptr< ome::xml::model::LightSource > > & | getLightSourceList () const
| Get the LightSource list. More...
ome::compat::shared_ptr< ome::xml::model::LightSource > & | getLightSource (std::vector< ome::compat::shared_ptr< ome::xml::model::LightSource > >::size_type index)
| Get LightSource. More...
const ome::compat::shared_ptr< ome::xml::model::LightSource > & | getLightSource (std::vector< ome::compat::shared_ptr< ome::xml::model::LightSource > >::size_type index) const
| Get LightSource. More...
void | setLightSource (std::vector< ome::compat::shared_ptr< ome::xml::model::LightSource > >::size_type index, ome::compat::shared_ptr< ome::xml::model::LightSource > &lightSource)
| Set LightSource. More...
void | addLightSource (ome::compat::shared_ptr< ome::xml::model::LightSource > &lightSource)
| Add LightSource. More...
void | removeLightSource (ome::compat::shared_ptr< ome::xml::model::LightSource > &lightSource)
| Remove LightSource. More...
std::vector< ome::compat::shared_ptr< ome::xml::model::Detector > >::size_type | sizeOfDetectorList () const
| Get size of linked Detector list. More...
std::vector< ome::compat::shared_ptr< ome::xml::model::Detector > > & | getDetectorList ()
| Get the Detector list. More...
const std::vector< ome::compat::shared_ptr< ome::xml::model::Detector > > & | getDetectorList () const
| Get the Detector list. More...
ome::compat::shared_ptr< ome::xml::model::Detector > & | getDetector (std::vector< ome::compat::shared_ptr< ome::xml::model::Detector > >::size_type index)
| Get Detector. More...
const ome::compat::shared_ptr< ome::xml::model::Detector > & | getDetector (std::vector< ome::compat::shared_ptr< ome::xml::model::Detector > >::size_type index) const
| Get Detector. More...
void | setDetector (std::vector< ome::compat::shared_ptr< ome::xml::model::Detector > >::size_type index, ome::compat::shared_ptr< ome::xml::model::Detector > &detector)
| Set Detector. More...
void | addDetector (ome::compat::shared_ptr< ome::xml::model::Detector > &detector)
| Add Detector. More...
void | removeDetector (ome::compat::shared_ptr< ome::xml::model::Detector > &detector)
| Remove Detector. More...
std::vector< ome::compat::shared_ptr< ome::xml::model::Objective > >::size_type | sizeOfObjectiveList () const
| Get size of linked Objective list. More...
std::vector< ome::compat::shared_ptr< ome::xml::model::Objective > > & | getObjectiveList ()
| Get the Objective list. More...
const std::vector< ome::compat::shared_ptr< ome::xml::model::Objective > > & | getObjectiveList () const
| Get the Objective list. More...
ome::compat::shared_ptr< ome::xml::model::Objective > & | getObjective (std::vector< ome::compat::shared_ptr< ome::xml::model::Objective > >::size_type index)
| Get Objective. More...
const ome::compat::shared_ptr< ome::xml::model::Objective > & | getObjective (std::vector< ome::compat::shared_ptr< ome::xml::model::Objective > >::size_type index) const
| Get Objective. More...
void | setObjective (std::vector< ome::compat::shared_ptr< ome::xml::model::Objective > >::size_type index, ome::compat::shared_ptr< ome::xml::model::Objective > &objective)
| Set Objective. More...
void | addObjective (ome::compat::shared_ptr< ome::xml::model::Objective > &objective)
| Add Objective. More...
void | removeObjective (ome::compat::shared_ptr< ome::xml::model::Objective > &objective)
| Remove Objective. More...
std::vector< ome::compat::shared_ptr< ome::xml::model::FilterSet > >::size_type | sizeOfFilterSetList () const
| Get size of linked FilterSet list. More...
std::vector< ome::compat::shared_ptr< ome::xml::model::FilterSet > > & | getFilterSetList ()
| Get the FilterSet list. More...
const std::vector< ome::compat::shared_ptr< ome::xml::model::FilterSet > > & | getFilterSetList () const
| Get the FilterSet list. More...
ome::compat::shared_ptr< ome::xml::model::FilterSet > & | getFilterSet (std::vector< ome::compat::shared_ptr< ome::xml::model::FilterSet > >::size_type index)
| Get FilterSet. More...
const ome::compat::shared_ptr< ome::xml::model::FilterSet > & | getFilterSet (std::vector< ome::compat::shared_ptr< ome::xml::model::FilterSet > >::size_type index) const
| Get FilterSet. More...
void | setFilterSet (std::vector< ome::compat::shared_ptr< ome::xml::model::FilterSet > >::size_type index, ome::compat::shared_ptr< ome::xml::model::FilterSet > &filterSet)
| Set FilterSet. More...
void | addFilterSet (ome::compat::shared_ptr< ome::xml::model::FilterSet > &filterSet)
| Add FilterSet. More...
void | removeFilterSet (ome::compat::shared_ptr< ome::xml::model::FilterSet > &filterSet)
| Remove FilterSet. More...
std::vector< ome::compat::shared_ptr< ome::xml::model::Filter > >::size_type | sizeOfFilterList () const
| Get size of linked Filter list. More...
std::vector< ome::compat::shared_ptr< ome::xml::model::Filter > > & | getFilterList ()
| Get the Filter list. More...
const std::vector< ome::compat::shared_ptr< ome::xml::model::Filter > > & | getFilterList () const
| Get the Filter list. More...
ome::compat::shared_ptr< ome::xml::model::Filter > & | getFilter (std::vector< ome::compat::shared_ptr< ome::xml::model::Filter > >::size_type index)
| Get Filter. More...
const ome::compat::shared_ptr< ome::xml::model::Filter > & | getFilter (std::vector< ome::compat::shared_ptr< ome::xml::model::Filter > >::size_type index) const
| Get Filter. More...
void | setFilter (std::vector< ome::compat::shared_ptr< ome::xml::model::Filter > >::size_type index, ome::compat::shared_ptr< ome::xml::model::Filter > &filter)
| Set Filter. More...
void | addFilter (ome::compat::shared_ptr< ome::xml::model::Filter > &filter)
| Add Filter. More...
void | removeFilter (ome::compat::shared_ptr< ome::xml::model::Filter > &filter)
| Remove Filter. More...
std::vector< ome::compat::shared_ptr< ome::xml::model::Dichroic > >::size_type | sizeOfDichroicList () const
| Get size of linked Dichroic list. More...
std::vector< ome::compat::shared_ptr< ome::xml::model::Dichroic > > & | getDichroicList ()
| Get the Dichroic list. More...
const std::vector< ome::compat::shared_ptr< ome::xml::model::Dichroic > > & | getDichroicList () const
| Get the Dichroic list. More...
ome::compat::shared_ptr< ome::xml::model::Dichroic > & | getDichroic (std::vector< ome::compat::shared_ptr< ome::xml::model::Dichroic > >::size_type index)
| Get Dichroic. More...
const ome::compat::shared_ptr< ome::xml::model::Dichroic > & | getDichroic (std::vector< ome::compat::shared_ptr< ome::xml::model::Dichroic > >::size_type index) const
| Get Dichroic. More...
void | setDichroic (std::vector< ome::compat::shared_ptr< ome::xml::model::Dichroic > >::size_type index, ome::compat::shared_ptr< ome::xml::model::Dichroic > &dichroic)
| Set Dichroic. More...
void | addDichroic (ome::compat::shared_ptr< ome::xml::model::Dichroic > &dichroic)
| Add Dichroic. More...
void | removeDichroic (ome::compat::shared_ptr< ome::xml::model::Dichroic > &dichroic)
| Remove Dichroic. More...
OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type::size_type | sizeOfLinkedAnnotationList () const
| Get size of linked Annotation list. More...
OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type | getLinkedAnnotationList () const
| Get the linked Annotation list. More...
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. More...
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. More...
bool | linkAnnotation (const ome::compat::shared_ptr< ome::xml::model::Annotation > &annotation)
| Link Annotation. More...
bool | unlinkAnnotation (const ome::compat::shared_ptr< ome::xml::model::Annotation > &annotation)
| Unlink Annotation. More...
OMEModelObject::indexed_container< ome::xml::model::Image, ome::compat::weak_ptr >::type::size_type | sizeOfLinkedImageList () const
| Get size of linked Image list. More...
OMEModelObject::indexed_container< ome::xml::model::Image, ome::compat::weak_ptr >::type | getLinkedImageList () const
| Get the linked Image list. More...
const ome::compat::weak_ptr< ome::xml::model::Image > & | getLinkedImage (OMEModelObject::indexed_container< ome::xml::model::Image, ome::compat::weak_ptr >::type::size_type index) const
| Get linked Image. More...
const ome::compat::weak_ptr< ome::xml::model::Image > & | setLinkedImage (OMEModelObject::indexed_container< ome::xml::model::Image, ome::compat::weak_ptr >::type::size_type index, const ome::compat::shared_ptr< ome::xml::model::Image > &image_BackReference)
| Set linked Image. More...
bool | linkImage (const ome::compat::shared_ptr< ome::xml::model::Image > &image_BackReference)
| Link Image. More...
bool | unlinkImage (const ome::compat::shared_ptr< ome::xml::model::Image > &image_BackReference)
| Unlink Image. More...
virtual common::xml::dom::Element | asXMLElement (common::xml::dom::Document &document) const
| Transform the object hierarchy rooted at this element to XML. More...
const std::string & | getXMLNamespace () const
| Get the XML namespace for this model object. More...
Public Member Functions inherited from ome::xml::model::detail::OMEModelObject
virtual | ~OMEModelObject ()
| Destructor.
virtual void | update (const common::xml::dom::Element &element, ::ome::xml::model::OMEModel &model)
| Update the object hierarchy recursively from an XML DOM tree. More...
virtual 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. More...
Public Member Functions inherited from ome::xml::model::OMEModelObject
virtual bool | link (ome::compat::shared_ptr< Reference > &reference, ome::compat::shared_ptr< OMEModelObject > &object)=0
| Link a given OME model object to this model object. More...

## Static Public Member Functions
static ome::compat::shared_ptr< Instrument > | create (const common::xml::dom::Element &element, ome::xml::model::OMEModel &model)
| Create a Instrument model object from DOM element. More...
Static Public Member Functions inherited from ome::xml::model::detail::OMEModelObject
static std::vector< common::xml::dom::Element > | getChildrenByTagName (const common::xml::dom::Element &parent, const std::string &name)
| Retrieve all the children of an element that have a given tag name. More...
static std::string | stripNamespacePrefix (const std::string &value)
| Strip the namespace prefix from a tag name. More...

## Protected Member Functions
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. More...
Protected Member Functions inherited from ome::xml::model::detail::OMEModelObject
| OMEModelObject (const std::string &objectType="OMEModelObject")
| Constructor.
| OMEModelObject (const OMEModelObject &copy)
| Copy constructor. More...
template<class C , typename T >
bool | contains (const C &container, const ome::compat::shared_ptr< T > &element)
| Check if a container contains a particular element. More...
Protected Member Functions inherited from ome::xml::model::OMEModelObject
| OMEModelObject ()
| Constructor.

## Private Member Functions
Instrument & | operator= (const Instrument &)
| Assignment operator (deleted).

## Private Attributes
ome::compat::shared_ptr< Impl > | impl
| Private implementation details.

## Additional Inherited Members
Protected Attributes inherited from ome::xml::model::detail::OMEModelObject
ome::common::Logger | logger
| Message logger.

## Detailed Description

Instrument model object.

## Constructor & Destructor Documentation

## § Instrument()

ome::xml::model::Instrument::Instrument | ( | const Instrument & | copy | ) |

Copy constructor.

Parameters

  copy | the Instrument to copy.

## Member Function Documentation

## § addDetector()

void ome::xml::model::Instrument::addDetector | ( | ome::compat::shared_ptr< ome::xml::model::Detector > & | detector | ) |

Add Detector.

Parameters

  detector | the Detector to add.

Todo:

  Return list position?

  Detect and handle duplicates?

References impl.

Referenced by update().

Here is the caller graph for this function:

## § addDichroic()

void ome::xml::model::Instrument::addDichroic | ( | ome::compat::shared_ptr< ome::xml::model::Dichroic > & | dichroic | ) |

Add Dichroic.

Parameters

  dichroic | the Dichroic to add.

Todo:

  Return list position?

  Detect and handle duplicates?

References impl.

Referenced by update().

Here is the caller graph for this function:

## § addFilter()

void ome::xml::model::Instrument::addFilter | ( | ome::compat::shared_ptr< ome::xml::model::Filter > & | filter | ) |

Add Filter.

Parameters

  filter | the Filter to add.

Todo:

  Return list position?

  Detect and handle duplicates?

References impl.

Referenced by update().

Here is the caller graph for this function:

## § addFilterSet()

void ome::xml::model::Instrument::addFilterSet | ( | ome::compat::shared_ptr< ome::xml::model::FilterSet > & | filterSet | ) |

Add FilterSet.

Parameters

  filterSet | the FilterSet to add.

Todo:

  Return list position?

  Detect and handle duplicates?

References impl.

Referenced by update().

Here is the caller graph for this function:

## § addLightSource()

void ome::xml::model::Instrument::addLightSource | ( | ome::compat::shared_ptr< ome::xml::model::LightSource > & | lightSource | ) |

Add LightSource.

Parameters

  lightSource | the LightSource to add.

Todo:

  Return list position?

  Detect and handle duplicates?

References impl.

Referenced by update().

Here is the caller graph for this function:

## § addObjective()

void ome::xml::model::Instrument::addObjective | ( | ome::compat::shared_ptr< ome::xml::model::Objective > & | objective | ) |

Add Objective.

Parameters

  objective | the Objective to add.

Todo:

  Return list position?

  Detect and handle duplicates?

References impl.

Referenced by update().

Here is the caller graph for this function:

## § asXMLElement()

common::xml::dom::Element ome::xml::model::Instrument::asXMLElement | ( | common::xml::dom::Document & | document | ) | const
| virtual

Transform the object hierarchy rooted at this element to XML.

Parameters

  document | document for element creation

Returns
  an XML DOM tree root element for this model object.

Implements ome::xml::model::OMEModelObject.

References asXMLElementInternal(), ome::common::xml::dom::Document::createElementNS(), and getXMLNamespace().

## § asXMLElementInternal()

common::xml::dom::Element ome::xml::model::Instrument::asXMLElementInternal | ( | common::xml::dom::Document & | document,
|  | common::xml::dom::Element & | element
| ) |  | const
| protectedvirtual

Transform the object hierarchy rooted at this element to XML.

This internal implementation of asXMLelement also requires an XML element, which must not be null, or may be instantiated and passed from superclasses.

Parameters

  document | XML document for element creation.
  element | XML element for setting model data.

Returns
  an XML DOM tree root element for this model object.

Implements ome::xml::model::detail::OMEModelObject.

References ome::common::xml::dom::Node::appendChild(), ome::xml::model::detail::OMEModelObject::asXMLElementInternal(), ome::common::xml::dom::Document::createElementNS(), getXMLNamespace(), impl, and ome::common::xml::dom::Element::setAttribute().

Referenced by asXMLElement().

Here is the caller graph for this function:

## § create()

ome::compat::shared_ptr< Instrument > ome::xml::model::Instrument::create | ( | const common::xml::dom::Element & | element,
|  | ome::xml::model::OMEModel & | model
| ) |  |
| static

Create a Instrument model object from DOM element.

Parameters

  element | root of the XML DOM tree to from which to construct the model object graph.
  model | handler for the OME model used to track instances and references seen during the update.

Exceptions

  EnumerationException | if there is an error instantiating an enumeration during model object creation, or ModelException if there are any consistency or validity errors found during processing.

Returns
  a new model object.

Referenced by ome::xml::model::OME::update().

Here is the caller graph for this function:

## § elementName()

const std::string & ome::xml::model::Instrument::elementName | ( |  | ) | const
| virtual

Get the element name of this model object.

This will be the most-derived class name.

Returns
  the element type.

Implements ome::xml::model::OMEModelObject.

## § getDetector() [1/2]

ome::compat::shared_ptr< ome::xml::model::Detector > & ome::xml::model::Instrument::getDetector | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::Detector > >::size_type | index | ) |

Get Detector.

Parameters

  index | the index number of the Detector.

Returns
  the Detector.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § getDetector() [2/2]

const ome::compat::shared_ptr< ome::xml::model::Detector > & ome::xml::model::Instrument::getDetector | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::Detector > >::size_type | index | ) | const

Get Detector.

Parameters

  index | the index number of the Detector.

Returns
  the Detector.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § getDetectorList() [1/2]

std::vector< ome::compat::shared_ptr< ome::xml::model::Detector > > & ome::xml::model::Instrument::getDetectorList | ( |  | ) |

Get the Detector list.

Returns
  a reference to the list.

References impl.

## § getDetectorList() [2/2]

const std::vector< ome::compat::shared_ptr< ome::xml::model::Detector > > & ome::xml::model::Instrument::getDetectorList | ( |  | ) | const

Get the Detector list.

Returns
  a reference to the list.

References impl.

## § getDichroic() [1/2]

ome::compat::shared_ptr< ome::xml::model::Dichroic > & ome::xml::model::Instrument::getDichroic | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::Dichroic > >::size_type | index | ) |

Get Dichroic.

Parameters

  index | the index number of the Dichroic.

Returns
  the Dichroic.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § getDichroic() [2/2]

const ome::compat::shared_ptr< ome::xml::model::Dichroic > & ome::xml::model::Instrument::getDichroic | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::Dichroic > >::size_type | index | ) | const

Get Dichroic.

Parameters

  index | the index number of the Dichroic.

Returns
  the Dichroic.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § getDichroicList() [1/2]

std::vector< ome::compat::shared_ptr< ome::xml::model::Dichroic > > & ome::xml::model::Instrument::getDichroicList | ( |  | ) |

Get the Dichroic list.

Returns
  a reference to the list.

References impl.

## § getDichroicList() [2/2]

const std::vector< ome::compat::shared_ptr< ome::xml::model::Dichroic > > & ome::xml::model::Instrument::getDichroicList | ( |  | ) | const

Get the Dichroic list.

Returns
  a reference to the list.

References impl.

## § getFilter() [1/2]

ome::compat::shared_ptr< ome::xml::model::Filter > & ome::xml::model::Instrument::getFilter | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::Filter > >::size_type | index | ) |

Get Filter.

Parameters

  index | the index number of the Filter.

Returns
  the Filter.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § getFilter() [2/2]

const ome::compat::shared_ptr< ome::xml::model::Filter > & ome::xml::model::Instrument::getFilter | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::Filter > >::size_type | index | ) | const

Get Filter.

Parameters

  index | the index number of the Filter.

Returns
  the Filter.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § getFilterList() [1/2]

std::vector< ome::compat::shared_ptr< ome::xml::model::Filter > > & ome::xml::model::Instrument::getFilterList | ( |  | ) |

Get the Filter list.

Returns
  a reference to the list.

References impl.

## § getFilterList() [2/2]

const std::vector< ome::compat::shared_ptr< ome::xml::model::Filter > > & ome::xml::model::Instrument::getFilterList | ( |  | ) | const

Get the Filter list.

Returns
  a reference to the list.

References impl.

## § getFilterSet() [1/2]

ome::compat::shared_ptr< ome::xml::model::FilterSet > & ome::xml::model::Instrument::getFilterSet | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::FilterSet > >::size_type | index | ) |

Get FilterSet.

Parameters

  index | the index number of the FilterSet.

Returns
  the FilterSet.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § getFilterSet() [2/2]

const ome::compat::shared_ptr< ome::xml::model::FilterSet > & ome::xml::model::Instrument::getFilterSet | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::FilterSet > >::size_type | index | ) | const

Get FilterSet.

Parameters

  index | the index number of the FilterSet.

Returns
  the FilterSet.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § getFilterSetList() [1/2]

std::vector< ome::compat::shared_ptr< ome::xml::model::FilterSet > > & ome::xml::model::Instrument::getFilterSetList | ( |  | ) |

Get the FilterSet list.

Returns
  a reference to the list.

References impl.

## § getFilterSetList() [2/2]

const std::vector< ome::compat::shared_ptr< ome::xml::model::FilterSet > > & ome::xml::model::Instrument::getFilterSetList | ( |  | ) | const

Get the FilterSet list.

Returns
  a reference to the list.

References impl.

## § getID()

const std::string & ome::xml::model::Instrument::getID | ( |  | ) | const

Get the ID property.

Returns
  the ID property.

References impl.

Referenced by update().

Here is the caller graph for this function:

## § getLightSource() [1/2]

ome::compat::shared_ptr< ome::xml::model::LightSource > & ome::xml::model::Instrument::getLightSource | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::LightSource > >::size_type | index | ) |

Get LightSource.

Parameters

  index | the index number of the LightSource.

Returns
  the LightSource.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § getLightSource() [2/2]

const ome::compat::shared_ptr< ome::xml::model::LightSource > & ome::xml::model::Instrument::getLightSource | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::LightSource > >::size_type | index | ) | const

Get LightSource.

Parameters

  index | the index number of the LightSource.

Returns
  the LightSource.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § getLightSourceList() [1/2]

std::vector< ome::compat::shared_ptr< ome::xml::model::LightSource > > & ome::xml::model::Instrument::getLightSourceList | ( |  | ) |

Get the LightSource list.

Returns
  a reference to the list.

References impl.

## § getLightSourceList() [2/2]

const std::vector< ome::compat::shared_ptr< ome::xml::model::LightSource > > & ome::xml::model::Instrument::getLightSourceList | ( |  | ) | const

Get the LightSource list.

Returns
  a reference to the list.

References impl.

## § getLinkedAnnotation()

const ome::compat::weak_ptr< ome::xml::model::Annotation > & ome::xml::model::Instrument::getLinkedAnnotation | ( | OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type::size_type | index | ) | const

Get linked Annotation.

Parameters

  index | the index number of the Annotation.

Returns
  a weak pointer to the Annotation.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § getLinkedAnnotationList()

OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type ome::xml::model::Instrument::getLinkedAnnotationList | ( |  | ) | const

Get the linked Annotation list.

Returns
  a reference to the list.

References impl.

## § getLinkedImage()

const ome::compat::weak_ptr< ome::xml::model::Image > & ome::xml::model::Instrument::getLinkedImage | ( | OMEModelObject::indexed_container< ome::xml::model::Image, ome::compat::weak_ptr >::type::size_type | index | ) | const

Get linked Image.

Parameters

  index | the index number of the Image.

Returns
  a weak pointer to the Image.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § getLinkedImageList()

OMEModelObject::indexed_container< ome::xml::model::Image, ome::compat::weak_ptr >::type ome::xml::model::Instrument::getLinkedImageList | ( |  | ) | const

Get the linked Image list.

Returns
  a reference to the list.

References impl.

## § getMicroscope() [1/2]

ome::compat::shared_ptr< ome::xml::model::Microscope > ome::xml::model::Instrument::getMicroscope | ( |  | ) |

Get the Microscope property.

Returns
  the Microscope property.

References impl.

## § getMicroscope() [2/2]

const ome::compat::shared_ptr< ome::xml::model::Microscope > ome::xml::model::Instrument::getMicroscope | ( |  | ) | const

Get the Microscope property.

Returns
  the Microscope property.

References impl.

## § getObjective() [1/2]

ome::compat::shared_ptr< ome::xml::model::Objective > & ome::xml::model::Instrument::getObjective | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::Objective > >::size_type | index | ) |

Get Objective.

Parameters

  index | the index number of the Objective.

Returns
  the Objective.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § getObjective() [2/2]

const ome::compat::shared_ptr< ome::xml::model::Objective > & ome::xml::model::Instrument::getObjective | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::Objective > >::size_type | index | ) | const

Get Objective.

Parameters

  index | the index number of the Objective.

Returns
  the Objective.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § getObjectiveList() [1/2]

std::vector< ome::compat::shared_ptr< ome::xml::model::Objective > > & ome::xml::model::Instrument::getObjectiveList | ( |  | ) |

Get the Objective list.

Returns
  a reference to the list.

References impl.

## § getObjectiveList() [2/2]

const std::vector< ome::compat::shared_ptr< ome::xml::model::Objective > > & ome::xml::model::Instrument::getObjectiveList | ( |  | ) | const

Get the Objective list.

Returns
  a reference to the list.

References impl.

## § getXMLNamespace()

const std::string & ome::xml::model::Instrument::getXMLNamespace | ( |  | ) | const
| virtual

Get the XML namespace for this model object.

Returns
  the XML namespace.

Implements ome::xml::model::OMEModelObject.

Referenced by asXMLElement(), and asXMLElementInternal().

Here is the caller graph for this function:

## § link()

bool ome::xml::model::Instrument::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.

Parameters

  reference | type qualifier for the reference. This should be the corresponding reference type for object. If, for example, object is of type Image, reference must be of type ImageRef.
  object | Model object to link to.

Returns
  `true` if this model object was able to handle the reference, otherwise `false`.

Todo:
  the use of reference to provide type information for the type of object is unconventional and quite possibly unnecessary–a simple string or type_info would suffice for what it's being used for, if it's needed at all. Is this true for all cases? The implementation also needs to do strict checking of the object type; it's not currently failing if it's of the wrong type. This applies to all generated model objects implementing this interface.

Todo:
  This bit is silly; why do we have two dynamic_casts here.

References impl, ome::xml::model::detail::OMEModelObject::link(), ome::xml::model::Annotation::linkInstrument(), and ome::xml::model::detail::OMEModelObject::logger.

## § linkAnnotation()

bool ome::xml::model::Instrument::linkAnnotation | ( | const ome::compat::shared_ptr< ome::xml::model::Annotation > & | annotation | ) |

Link Annotation.

Parameters

  annotation | the Annotation to link.

Returns
  `true` if the object was added to the internal annotationLinks list, otherwise `false`.

Todo:
  Why have a return value here; what is it used for? Is this an artifact of the Java API?

References impl.

## § linkImage()

bool ome::xml::model::Instrument::linkImage | ( | const ome::compat::shared_ptr< ome::xml::model::Image > & | image_BackReference | ) |

Link Image.

Parameters

  image_BackReference | the Image to link.

Returns
  `true` if the object was added to the internal images list, otherwise `false`.

Todo:
  Why have a return value here; what is it used for? Is this an artifact of the Java API?

References impl.

Referenced by ome::xml::model::Image::link().

Here is the caller graph for this function:

## § removeDetector()

void ome::xml::model::Instrument::removeDetector | ( | ome::compat::shared_ptr< ome::xml::model::Detector > & | detector | ) |

Remove Detector.

Parameters

  detector | the Detector to remove.

Todo:

  Doesn't the removal break the indexing?

  Does the removal deal with multiple instances; we aren't preventing duplicates on insertion.

References impl.

## § removeDichroic()

void ome::xml::model::Instrument::removeDichroic | ( | ome::compat::shared_ptr< ome::xml::model::Dichroic > & | dichroic | ) |

Remove Dichroic.

Parameters

  dichroic | the Dichroic to remove.

Todo:

  Doesn't the removal break the indexing?

  Does the removal deal with multiple instances; we aren't preventing duplicates on insertion.

References impl.

## § removeFilter()

void ome::xml::model::Instrument::removeFilter | ( | ome::compat::shared_ptr< ome::xml::model::Filter > & | filter | ) |

Remove Filter.

Parameters

  filter | the Filter to remove.

Todo:

  Doesn't the removal break the indexing?

  Does the removal deal with multiple instances; we aren't preventing duplicates on insertion.

References impl.

## § removeFilterSet()

void ome::xml::model::Instrument::removeFilterSet | ( | ome::compat::shared_ptr< ome::xml::model::FilterSet > & | filterSet | ) |

Remove FilterSet.

Parameters

  filterSet | the FilterSet to remove.

Todo:

  Doesn't the removal break the indexing?

  Does the removal deal with multiple instances; we aren't preventing duplicates on insertion.

References impl.

## § removeLightSource()

void ome::xml::model::Instrument::removeLightSource | ( | ome::compat::shared_ptr< ome::xml::model::LightSource > & | lightSource | ) |

Remove LightSource.

Parameters

  lightSource | the LightSource to remove.

Todo:

  Doesn't the removal break the indexing?

  Does the removal deal with multiple instances; we aren't preventing duplicates on insertion.

References impl.

## § removeObjective()

void ome::xml::model::Instrument::removeObjective | ( | ome::compat::shared_ptr< ome::xml::model::Objective > & | objective | ) |

Remove Objective.

Parameters

  objective | the Objective to remove.

Todo:

  Doesn't the removal break the indexing?

  Does the removal deal with multiple instances; we aren't preventing duplicates on insertion.

References impl.

## § setDetector()

void ome::xml::model::Instrument::setDetector | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::Detector > >::size_type | index,
|  | ome::compat::shared_ptr< ome::xml::model::Detector > & | detector
| ) |  |

Set Detector.

Parameters

  index | the index number of the Detector.
  detector | the Detector to set.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § setDichroic()

void ome::xml::model::Instrument::setDichroic | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::Dichroic > >::size_type | index,
|  | ome::compat::shared_ptr< ome::xml::model::Dichroic > & | dichroic
| ) |  |

Set Dichroic.

Parameters

  index | the index number of the Dichroic.
  dichroic | the Dichroic to set.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § setFilter()

void ome::xml::model::Instrument::setFilter | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::Filter > >::size_type | index,
|  | ome::compat::shared_ptr< ome::xml::model::Filter > & | filter
| ) |  |

Set Filter.

Parameters

  index | the index number of the Filter.
  filter | the Filter to set.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § setFilterSet()

void ome::xml::model::Instrument::setFilterSet | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::FilterSet > >::size_type | index,
|  | ome::compat::shared_ptr< ome::xml::model::FilterSet > & | filterSet
| ) |  |

Set FilterSet.

Parameters

  index | the index number of the FilterSet.
  filterSet | the FilterSet to set.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § setID()

void ome::xml::model::Instrument::setID | ( | const std::string & | id | ) |

Set the ID property.

Parameters

  id | the value to set.

References impl.

Referenced by update().

Here is the caller graph for this function:

## § setLightSource()

void ome::xml::model::Instrument::setLightSource | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::LightSource > >::size_type | index,
|  | ome::compat::shared_ptr< ome::xml::model::LightSource > & | lightSource
| ) |  |

Set LightSource.

Parameters

  index | the index number of the LightSource.
  lightSource | the LightSource to set.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § setLinkedAnnotation()

const ome::compat::weak_ptr< ome::xml::model::Annotation > & ome::xml::model::Instrument::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.

Note
  The index must be valid.

Parameters

  index | the index number of the Annotation.
  annotation | the Annotation to set.

Returns
  a weak pointer to the Annotation.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § setLinkedImage()

const ome::compat::weak_ptr< ome::xml::model::Image > & ome::xml::model::Instrument::setLinkedImage | ( | OMEModelObject::indexed_container< ome::xml::model::Image, ome::compat::weak_ptr >::type::size_type | index,
|  | const ome::compat::shared_ptr< ome::xml::model::Image > & | image_BackReference
| ) |  |

Set linked Image.

Note
  The index must be valid.

Parameters

  index | the index number of the Image.
  image_BackReference | the Image to set.

Returns
  a weak pointer to the Image.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § setMicroscope()

void ome::xml::model::Instrument::setMicroscope | ( | ome::compat::shared_ptr< ome::xml::model::Microscope > & | microscope | ) |

Set the Microscope property.

Parameters

  microscope | the value to set.

References impl.

Referenced by update().

Here is the caller graph for this function:

## § setObjective()

void ome::xml::model::Instrument::setObjective | ( | std::vector< ome::compat::shared_ptr< ome::xml::model::Objective > >::size_type | index,
|  | ome::compat::shared_ptr< ome::xml::model::Objective > & | objective
| ) |  |

Set Objective.

Parameters

  index | the index number of the Objective.
  objective | the Objective to set.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

## § sizeOfDetectorList()

std::vector< ome::compat::shared_ptr< ome::xml::model::Detector > >::size_type ome::xml::model::Instrument::sizeOfDetectorList | ( |  | ) | const

Get size of linked Detector list.

Returns
  the size of the list.

References impl.

## § sizeOfDichroicList()

std::vector< ome::compat::shared_ptr< ome::xml::model::Dichroic > >::size_type ome::xml::model::Instrument::sizeOfDichroicList | ( |  | ) | const

Get size of linked Dichroic list.

Returns
  the size of the list.

References impl.

## § sizeOfFilterList()

std::vector< ome::compat::shared_ptr< ome::xml::model::Filter > >::size_type ome::xml::model::Instrument::sizeOfFilterList | ( |  | ) | const

Get size of linked Filter list.

Returns
  the size of the list.

References impl.

## § sizeOfFilterSetList()

std::vector< ome::compat::shared_ptr< ome::xml::model::FilterSet > >::size_type ome::xml::model::Instrument::sizeOfFilterSetList | ( |  | ) | const

Get size of linked FilterSet list.

Returns
  the size of the list.

References impl.

## § sizeOfLightSourceList()

std::vector< ome::compat::shared_ptr< ome::xml::model::LightSource > >::size_type ome::xml::model::Instrument::sizeOfLightSourceList | ( |  | ) | const

Get size of linked LightSource list.

Returns
  the size of the list.

References impl.

## § sizeOfLinkedAnnotationList()

OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type::size_type ome::xml::model::Instrument::sizeOfLinkedAnnotationList | ( |  | ) | const

Get size of linked Annotation list.

Returns
  the size of the list.

References impl.

## § sizeOfLinkedImageList()

OMEModelObject::indexed_container< ome::xml::model::Image, ome::compat::weak_ptr >::type::size_type ome::xml::model::Instrument::sizeOfLinkedImageList | ( |  | ) | const

Get size of linked Image list.

Returns
  the size of the list.

References impl.

## § sizeOfObjectiveList()

std::vector< ome::compat::shared_ptr< ome::xml::model::Objective > >::size_type ome::xml::model::Instrument::sizeOfObjectiveList | ( |  | ) | const

Get size of linked Objective list.

Returns
  the size of the list.

References impl.

## § unlinkAnnotation()

bool ome::xml::model::Instrument::unlinkAnnotation | ( | const ome::compat::shared_ptr< ome::xml::model::Annotation > & | annotation | ) |

Unlink Annotation.

Parameters

  annotation | the Annotation to unlink.

Returns
  `true` if the Annotation was unlinked, otherwise `false` if the Annotation was not linked and could hence not be unlinked.

Todo:

  Does the return value serve any useful purpose? Is this also inherited Java API?

  Doesn't the removal break the indexing?

  Does the removal deal with multiple instances; we aren't preventing duplicates on insertion.

References impl.

## § unlinkImage()

bool ome::xml::model::Instrument::unlinkImage | ( | const ome::compat::shared_ptr< ome::xml::model::Image > & | image_BackReference | ) |

Unlink Image.

Parameters

  image_BackReference | the Image to unlink.

Returns
  `true` if the Image was unlinked, otherwise `false` if the Image was not linked and could hence not be unlinked.

Todo:

  Does the return value serve any useful purpose? Is this also inherited Java API?

  Doesn't the removal break the indexing?

  Does the removal deal with multiple instances; we aren't preventing duplicates on insertion.

References impl.

## § update()

void ome::xml::model::Instrument::update | ( | const common::xml::dom::Element & | element,
|  | ome::xml::model::OMEModel & | model
| ) |  |
| virtual

Update the object hierarchy recursively from an XML DOM tree.

Note
  No properties are removed, only added or updated.

Parameters

  element | root of the XML DOM tree to from which to construct the model object graph.
  model | handler for the OME model used to track instances and references seen during the update.

Exceptions

  EnumerationException | if there is an error instantiating an enumeration during model object creation, or ModelException if there are any consistency or validity errors found during processing.

Implements ome::xml::model::OMEModelObject.

References addDetector(), addDichroic(), addFilter(), addFilterSet(), addLightSource(), ome::xml::model::OMEModel::addModelObject(), addObjective(), ome::xml::model::OMEModel::addReference(), ome::xml::model::LightEmittingDiode::create(), ome::xml::model::Filament::create(), ome::xml::model::GenericExcitationSource::create(), ome::xml::model::Microscope::create(), ome::xml::model::Arc::create(), ome::xml::model::Detector::create(), ome::xml::model::FilterSet::create(), ome::xml::model::Dichroic::create(), ome::xml::model::Objective::create(), ome::xml::model::Filter::create(), ome::xml::model::Laser::create(), ome::common::xml::dom::Element::getAttribute(), ome::xml::model::detail::OMEModelObject::getChildrenByTagName(), getID(), ome::common::xml::dom::Element::getTagName(), ome::common::xml::dom::Element::hasAttribute(), ome::xml::model::detail::OMEModelObject::logger, setID(), setMicroscope(), ome::xml::model::detail::OMEModelObject::stripNamespacePrefix(), ome::xml::model::detail::OMEModelObject::update(), and validElementName().

## § validElementName()

bool ome::xml::model::Instrument::validElementName | ( | const std::string & | name | ) | const
| virtual

Check if a given element name is valid for processing by this model object.

Used for processing nodes when interitance is involved.

Parameters

  name | the element name to check.

Returns
  `true` if valid, `false` if invalid.

Implements ome::xml::model::detail::OMEModelObject.

References ome::xml::model::detail::OMEModelObject::validElementName().

Referenced by update().

Here is the caller graph for this function:

The documentation for this class was generated from the following files:

- ome/xml/model/Instrument.h
- ome/xml/model/Instrument.cpp