ome-xml 5.2.0

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

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

LightPath model object. More...

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

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

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

## Public Member Functions
| LightPath ()
| Default constructor.
| LightPath (const LightPath &copy)
| Copy constructor. More...
virtual | ~LightPath ()
| 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...
OMEModelObject::indexed_container< ome::xml::model::Filter, ome::compat::weak_ptr >::type::size_type | sizeOfLinkedExcitationFilterList () const
| Get size of linked ExcitationFilter list. More...
OMEModelObject::indexed_container< ome::xml::model::Filter, ome::compat::weak_ptr >::type | getLinkedExcitationFilterList () const
| Get the linked ExcitationFilter list. More...
const ome::compat::weak_ptr< ome::xml::model::Filter > & | getLinkedExcitationFilter (OMEModelObject::indexed_container< ome::xml::model::Filter, ome::compat::weak_ptr >::type::size_type index) const
| Get linked ExcitationFilter. More...
const ome::compat::weak_ptr< ome::xml::model::Filter > & | setLinkedExcitationFilter (OMEModelObject::indexed_container< ome::xml::model::Filter, ome::compat::weak_ptr >::type::size_type index, const ome::compat::shared_ptr< ome::xml::model::Filter > &excitationFilter)
| Set linked ExcitationFilter. More...
bool | linkExcitationFilter (const ome::compat::shared_ptr< ome::xml::model::Filter > &excitationFilter)
| Link ExcitationFilter. More...
bool | unlinkExcitationFilter (const ome::compat::shared_ptr< ome::xml::model::Filter > &excitationFilter)
| Unlink ExcitationFilter. More...
ome::compat::weak_ptr< ome::xml::model::Dichroic > | getLinkedDichroic ()
| Get linked Dichroic. More...
const ome::compat::weak_ptr< ome::xml::model::Dichroic > | getLinkedDichroic () const
| Get linked Dichroic. More...
void | linkDichroic (ome::compat::shared_ptr< ome::xml::model::Dichroic > &dichroic)
| Link Dichroic. More...
void | unlinkDichroic (ome::compat::shared_ptr< ome::xml::model::Dichroic > &dichroic)
| Unlink Dichroic. More...
OMEModelObject::indexed_container< ome::xml::model::Filter, ome::compat::weak_ptr >::type::size_type | sizeOfLinkedEmissionFilterList () const
| Get size of linked EmissionFilter list. More...
OMEModelObject::indexed_container< ome::xml::model::Filter, ome::compat::weak_ptr >::type | getLinkedEmissionFilterList () const
| Get the linked EmissionFilter list. More...
const ome::compat::weak_ptr< ome::xml::model::Filter > & | getLinkedEmissionFilter (OMEModelObject::indexed_container< ome::xml::model::Filter, ome::compat::weak_ptr >::type::size_type index) const
| Get linked EmissionFilter. More...
const ome::compat::weak_ptr< ome::xml::model::Filter > & | setLinkedEmissionFilter (OMEModelObject::indexed_container< ome::xml::model::Filter, ome::compat::weak_ptr >::type::size_type index, const ome::compat::shared_ptr< ome::xml::model::Filter > &emissionFilter)
| Set linked EmissionFilter. More...
bool | linkEmissionFilter (const ome::compat::shared_ptr< ome::xml::model::Filter > &emissionFilter)
| Link EmissionFilter. More...
bool | unlinkEmissionFilter (const ome::compat::shared_ptr< ome::xml::model::Filter > &emissionFilter)
| Unlink EmissionFilter. 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< LightPath > | create (const common::xml::dom::Element &element, ome::xml::model::OMEModel &model)
| Create a LightPath 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 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

LightPath model object.

## Constructor & Destructor Documentation

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

Copy constructor.

Parameters

  copy | the LightPath to copy.

## Member Function Documentation

common::xml::dom::Element ome::xml::model::LightPath::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().

common::xml::dom::Element ome::xml::model::LightPath::asXMLElementInternal | ( | common::xml::dom::Document & | document,
|  | common::xml::dom::Element & | element
| ) |  | const
| protected virtual

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(), and impl.

Referenced by asXMLElement().

Here is the caller graph for this function:

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

Create a LightPath 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::Channel::update().

Here is the caller graph for this function:

const std::string & ome::xml::model::LightPath::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.

ome::compat::weak_ptr< ome::xml::model::Dichroic > ome::xml::model::LightPath::getLinkedDichroic | ( |  | ) |

Get linked Dichroic.

Returns
  the linked Dichroic. The pointer may be null.

References impl.

const ome::compat::weak_ptr< ome::xml::model::Dichroic > ome::xml::model::LightPath::getLinkedDichroic | ( |  | ) | const

Get linked Dichroic.

Returns
  the linked Dichroic. The pointer may be null.

References impl.

const ome::compat::weak_ptr< ome::xml::model::Filter > & ome::xml::model::LightPath::getLinkedEmissionFilter | ( | OMEModelObject::indexed_container< ome::xml::model::Filter, ome::compat::weak_ptr >::type::size_type | index | ) | const

Get linked EmissionFilter.

Parameters

  index | the index number of the EmissionFilter.

Returns
  a weak pointer to the EmissionFilter.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

OMEModelObject::indexed_container< ome::xml::model::Filter, ome::compat::weak_ptr >::type ome::xml::model::LightPath::getLinkedEmissionFilterList | ( |  | ) | const

Get the linked EmissionFilter list.

Returns
  a reference to the list.

References impl.

const ome::compat::weak_ptr< ome::xml::model::Filter > & ome::xml::model::LightPath::getLinkedExcitationFilter | ( | OMEModelObject::indexed_container< ome::xml::model::Filter, ome::compat::weak_ptr >::type::size_type | index | ) | const

Get linked ExcitationFilter.

Parameters

  index | the index number of the ExcitationFilter.

Returns
  a weak pointer to the ExcitationFilter.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

OMEModelObject::indexed_container< ome::xml::model::Filter, ome::compat::weak_ptr >::type ome::xml::model::LightPath::getLinkedExcitationFilterList | ( |  | ) | const

Get the linked ExcitationFilter list.

Returns
  a reference to the list.

References impl.

const std::string & ome::xml::model::LightPath::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:

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

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

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

References impl, ome::xml::model::detail::OMEModelObject::link(), ome::xml::model::Dichroic::linkLightPath(), ome::xml::model::Filter::linkLightPathEmissionFilter(), ome::xml::model::Filter::linkLightPathExcitationFilter(), and ome::xml::model::detail::OMEModelObject::logger.

void ome::xml::model::LightPath::linkDichroic | ( | ome::compat::shared_ptr< ome::xml::model::Dichroic > & | dichroic | ) |

Link Dichroic.

Parameters

  dichroic | the Dichroic to link.

References impl.

bool ome::xml::model::LightPath::linkEmissionFilter | ( | const ome::compat::shared_ptr< ome::xml::model::Filter > & | emissionFilter | ) |

Link EmissionFilter.

Parameters

  emissionFilter | the EmissionFilter to link.

Returns
  `true` if the object was added to the internal emissionFilterLinks 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.

bool ome::xml::model::LightPath::linkExcitationFilter | ( | const ome::compat::shared_ptr< ome::xml::model::Filter > & | excitationFilter | ) |

Link ExcitationFilter.

Parameters

  excitationFilter | the ExcitationFilter to link.

Returns
  `true` if the object was added to the internal excitationFilterLinks 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.

const ome::compat::weak_ptr< ome::xml::model::Filter > & ome::xml::model::LightPath::setLinkedEmissionFilter | ( | OMEModelObject::indexed_container< ome::xml::model::Filter, ome::compat::weak_ptr >::type::size_type | index,
|  | const ome::compat::shared_ptr< ome::xml::model::Filter > & | emissionFilter
| ) |  |

Set linked EmissionFilter.

Note
  The index must be valid.

Parameters

  index | the index number of the EmissionFilter.
  emissionFilter | the EmissionFilter to set.

Returns
  a weak pointer to the EmissionFilter.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

const ome::compat::weak_ptr< ome::xml::model::Filter > & ome::xml::model::LightPath::setLinkedExcitationFilter | ( | OMEModelObject::indexed_container< ome::xml::model::Filter, ome::compat::weak_ptr >::type::size_type | index,
|  | const ome::compat::shared_ptr< ome::xml::model::Filter > & | excitationFilter
| ) |  |

Set linked ExcitationFilter.

Note
  The index must be valid.

Parameters

  index | the index number of the ExcitationFilter.
  excitationFilter | the ExcitationFilter to set.

Returns
  a weak pointer to the ExcitationFilter.

Exceptions

  std::out_of_range | if the index is invalid.

References impl.

OMEModelObject::indexed_container< ome::xml::model::Filter, ome::compat::weak_ptr >::type::size_type ome::xml::model::LightPath::sizeOfLinkedEmissionFilterList | ( |  | ) | const

Get size of linked EmissionFilter list.

Returns
  the size of the list.

References impl.

OMEModelObject::indexed_container< ome::xml::model::Filter, ome::compat::weak_ptr >::type::size_type ome::xml::model::LightPath::sizeOfLinkedExcitationFilterList | ( |  | ) | const

Get size of linked ExcitationFilter list.

Returns
  the size of the list.

References impl.

void ome::xml::model::LightPath::unlinkDichroic | ( | ome::compat::shared_ptr< ome::xml::model::Dichroic > & | dichroic | ) |

Unlink Dichroic.

Parameters

  dichroic | the Dichroic to unlink.

Todo:
  This method is fairly pointless since it's equivalent to linking a null pointer. It could call `link(0)` internally.

References impl.

bool ome::xml::model::LightPath::unlinkEmissionFilter | ( | const ome::compat::shared_ptr< ome::xml::model::Filter > & | emissionFilter | ) |

Unlink EmissionFilter.

Parameters

  emissionFilter | the EmissionFilter to unlink.

Returns
  `true` if the EmissionFilter was unlinked, otherwise `false` if the EmissionFilter 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.

bool ome::xml::model::LightPath::unlinkExcitationFilter | ( | const ome::compat::shared_ptr< ome::xml::model::Filter > & | excitationFilter | ) |

Unlink ExcitationFilter.

Parameters

  excitationFilter | the ExcitationFilter to unlink.

Returns
  `true` if the ExcitationFilter was unlinked, otherwise `false` if the ExcitationFilter 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.

void ome::xml::model::LightPath::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 ome::xml::model::OMEModel::addReference(), ome::xml::model::detail::OMEModelObject::getChildrenByTagName(), ome::common::xml::dom::Element::getTagName(), ome::xml::model::detail::OMEModelObject::logger, ome::xml::model::detail::OMEModelObject::stripNamespacePrefix(), ome::xml::model::detail::OMEModelObject::update(), and validElementName().

bool ome::xml::model::LightPath::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/LightPath.h
- ome/xml/model/LightPath.cpp