bioformats  5.1.3
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
ome::xml::model::WellSample Class Reference

WellSample model object. More...

#include <ome/xml/model/WellSample.h>

+ Inheritance diagram for ome::xml::model::WellSample:
+ Collaboration diagram for ome::xml::model::WellSample:

Public Member Functions

 WellSample ()
 Default constructor.
 
 WellSample (const WellSample &copy)
 Copy constructor. More...
 
virtual ~WellSample ()
 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 ome::xml::model::primitives::NonNegativeIntegergetIndex () const
 Get the Index property. More...
 
void setIndex (const ome::xml::model::primitives::NonNegativeInteger &index)
 Set the Index property. More...
 
ome::compat::shared_ptr< double > getPositionX ()
 Get the PositionX property. More...
 
const ome::compat::shared_ptr< double > getPositionX () const
 Get the PositionX property. More...
 
void setPositionX (ome::compat::shared_ptr< double > &positionX)
 Set the PositionX property. More...
 
ome::compat::shared_ptr< double > getPositionY ()
 Get the PositionY property. More...
 
const ome::compat::shared_ptr< double > getPositionY () const
 Get the PositionY property. More...
 
void setPositionY (ome::compat::shared_ptr< double > &positionY)
 Set the PositionY property. 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::primitives::TimestampgetTimepoint ()
 Get the Timepoint property. More...
 
const ome::compat::shared_ptr< ome::xml::model::primitives::TimestampgetTimepoint () const
 Get the Timepoint property. More...
 
void setTimepoint (ome::compat::shared_ptr< ome::xml::model::primitives::Timestamp > &timepoint)
 Set the Timepoint property. More...
 
ome::compat::weak_ptr< ome::xml::model::ImagegetLinkedImage ()
 Get linked Image. More...
 
const ome::compat::weak_ptr< ome::xml::model::ImagegetLinkedImage () const
 Get linked Image. More...
 
void linkImage (ome::compat::shared_ptr< ome::xml::model::Image > &image)
 Link Image. More...
 
void unlinkImage (ome::compat::shared_ptr< ome::xml::model::Image > &image)
 Unlink Image. 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::PlateAcquisition, ome::compat::weak_ptr >::type::size_type sizeOfLinkedPlateAcquisitionList () const
 Get size of linked PlateAcquisition list. More...
 
OMEModelObject::indexed_container< ome::xml::model::PlateAcquisition, ome::compat::weak_ptr >::type getLinkedPlateAcquisitionList () const
 Get the linked PlateAcquisition list. More...
 
const ome::compat::weak_ptr< ome::xml::model::PlateAcquisition > & getLinkedPlateAcquisition (OMEModelObject::indexed_container< ome::xml::model::PlateAcquisition, ome::compat::weak_ptr >::type::size_type index) const
 Get linked PlateAcquisition. More...
 
const ome::compat::weak_ptr< ome::xml::model::PlateAcquisition > & setLinkedPlateAcquisition (OMEModelObject::indexed_container< ome::xml::model::PlateAcquisition, ome::compat::weak_ptr >::type::size_type index, const ome::compat::shared_ptr< ome::xml::model::PlateAcquisition > &plateAcquisition_BackReference)
 Set linked PlateAcquisition. More...
 
bool linkPlateAcquisition (const ome::compat::shared_ptr< ome::xml::model::PlateAcquisition > &plateAcquisition_BackReference)
 Link PlateAcquisition. More...
 
bool unlinkPlateAcquisition (const ome::compat::shared_ptr< ome::xml::model::PlateAcquisition > &plateAcquisition_BackReference)
 Unlink PlateAcquisition. More...
 
ome::compat::weak_ptr< ome::xml::model::WellgetWell ()
 Get the Well property. More...
 
const ome::compat::weak_ptr< ome::xml::model::WellgetWell () const
 Get the Well property. More...
 
void setWell (ome::compat::weak_ptr< ome::xml::model::Well > &well_BackReference)
 Set the Well property. 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< WellSamplecreate (const common::xml::dom::Element &element, ome::xml::model::OMEModel &model)
 Create a WellSample model object from DOM element. More...
 
- Static Public Member Functions inherited from ome::xml::model::detail::OMEModelObject
static std::vector< common::xml::dom::ElementgetChildrenByTagName (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::xml::model::primitives::NonNegativeInteger index
 Index property.
 
ome::compat::shared_ptr< double > positionX
 PositionX property.
 
ome::compat::shared_ptr< double > positionY
 PositionY property.
 
std::string id
 ID property.
 
ome::compat::shared_ptr< ome::xml::model::primitives::Timestamptimepoint
 Timepoint property.
 
ome::compat::weak_ptr< ome::xml::model::Imageimage
 ImageRef reference.
 
OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type annotationLinks
 AnnotationRef reference (occurs more than once)
 
OMEModelObject::indexed_container< ome::xml::model::PlateAcquisition, ome::compat::weak_ptr >::type plateAcquisitions
 PlateAcquisition_BackReference back reference (occurs more than once)
 
ome::compat::weak_ptr< ome::xml::model::Wellwell
 Well_BackReference back reference.
 

Additional Inherited Members

- Protected Attributes inherited from ome::xml::model::detail::OMEModelObject
ome::common::Logger logger
 Message logger.
 

Detailed Description

WellSample model object.

Constructor & Destructor Documentation

ome::xml::model::WellSample::WellSample ( const WellSample copy)

Copy constructor.

Parameters
copythe WellSample to copy.

Member Function Documentation

common::xml::dom::Element ome::xml::model::WellSample::asXMLElement ( common::xml::dom::Document document) const
virtual

Transform the object hierarchy rooted at this element to XML.

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

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

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

common::xml::dom::Element ome::xml::model::WellSample::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
documentXML document for element creation.
elementXML element for setting model data.
Returns
an XML DOM tree root element for this model object.

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

References annotationLinks, ome::common::xml::dom::Node::appendChild(), ome::xml::model::detail::OMEModelObject::asXMLElementInternal(), ome::common::xml::dom::Document::createElementNS(), id, image, index, positionX, positionY, ome::common::xml::dom::Element::setAttribute(), and timepoint.

Referenced by asXMLElement().

+ Here is the caller graph for this function:

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

Create a WellSample model object from DOM element.

Parameters
elementroot of the XML DOM tree to from which to construct the model object graph.
modelhandler for the OME model used to track instances and references seen during the update.
Exceptions
EnumerationExceptionif 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::Well::update().

+ Here is the caller graph for this function:

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

const std::string & ome::xml::model::WellSample::getID ( ) const

Get the ID property.

Returns
the ID property.

References id.

Referenced by update().

+ Here is the caller graph for this function:

const ome::xml::model::primitives::NonNegativeInteger & ome::xml::model::WellSample::getIndex ( ) const

Get the Index property.

Returns
the Index property.

References index.

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

Get linked Annotation.

Parameters
indexthe index number of the Annotation.
Returns
a weak pointer to the Annotation.
Exceptions
std::out_of_rangeif the index is invalid.

References annotationLinks.

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

Get the linked Annotation list.

Returns
a reference to the list.

References annotationLinks.

ome::compat::weak_ptr< ome::xml::model::Image > ome::xml::model::WellSample::getLinkedImage ( )

Get linked Image.

Returns
the linked Image. The pointer may be null.

References image.

const ome::compat::weak_ptr< ome::xml::model::Image > ome::xml::model::WellSample::getLinkedImage ( ) const

Get linked Image.

Returns
the linked Image. The pointer may be null.

References image.

const ome::compat::weak_ptr< ome::xml::model::PlateAcquisition > & ome::xml::model::WellSample::getLinkedPlateAcquisition ( OMEModelObject::indexed_container< ome::xml::model::PlateAcquisition, ome::compat::weak_ptr >::type::size_type  index) const

Get linked PlateAcquisition.

Parameters
indexthe index number of the PlateAcquisition.
Returns
a weak pointer to the PlateAcquisition.
Exceptions
std::out_of_rangeif the index is invalid.

References plateAcquisitions.

OMEModelObject::indexed_container< ome::xml::model::PlateAcquisition, ome::compat::weak_ptr >::type ome::xml::model::WellSample::getLinkedPlateAcquisitionList ( ) const

Get the linked PlateAcquisition list.

Returns
a reference to the list.

References plateAcquisitions.

ome::compat::shared_ptr< double > ome::xml::model::WellSample::getPositionX ( )

Get the PositionX property.

Returns
the PositionX property.

References positionX.

const ome::compat::shared_ptr< double > ome::xml::model::WellSample::getPositionX ( ) const

Get the PositionX property.

Returns
the PositionX property.

References positionX.

ome::compat::shared_ptr< double > ome::xml::model::WellSample::getPositionY ( )

Get the PositionY property.

Returns
the PositionY property.

References positionY.

const ome::compat::shared_ptr< double > ome::xml::model::WellSample::getPositionY ( ) const

Get the PositionY property.

Returns
the PositionY property.

References positionY.

ome::compat::shared_ptr< ome::xml::model::primitives::Timestamp > ome::xml::model::WellSample::getTimepoint ( )

Get the Timepoint property.

Returns
the Timepoint property.

References timepoint.

const ome::compat::shared_ptr< ome::xml::model::primitives::Timestamp > ome::xml::model::WellSample::getTimepoint ( ) const

Get the Timepoint property.

Returns
the Timepoint property.

References timepoint.

ome::compat::weak_ptr< ome::xml::model::Well > ome::xml::model::WellSample::getWell ( )

Get the Well property.

Returns
the Well property.

References well.

const ome::compat::weak_ptr< ome::xml::model::Well > ome::xml::model::WellSample::getWell ( ) const

Get the Well property.

Returns
the Well property.

References well.

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

Get the XML namespace for this model object.

Returns
the XML namespace.

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

bool ome::xml::model::WellSample::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
referencetype 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.
objectModel 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.

References annotationLinks, image, ome::xml::model::detail::OMEModelObject::link(), ome::xml::model::Image::linkWellSample(), ome::xml::model::Annotation::linkWellSample(), and ome::xml::model::detail::OMEModelObject::logger.

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

Link Annotation.

Parameters
annotationthe 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 annotationLinks.

void ome::xml::model::WellSample::linkImage ( ome::compat::shared_ptr< ome::xml::model::Image > &  image)

Link Image.

Parameters
imagethe Image to link.

References image.

bool ome::xml::model::WellSample::linkPlateAcquisition ( const ome::compat::shared_ptr< ome::xml::model::PlateAcquisition > &  plateAcquisition_BackReference)

Link PlateAcquisition.

Parameters
plateAcquisition_BackReferencethe PlateAcquisition to link.
Returns
true if the object was added to the internal plateAcquisitions list, otherwise false.
Todo:
Why have a return value here; what is it used for? Is this an artifact of the Java API?

References plateAcquisitions.

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

+ Here is the caller graph for this function:

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

Set the ID property.

Parameters
idthe value to set.

References id.

Referenced by update().

+ Here is the caller graph for this function:

void ome::xml::model::WellSample::setIndex ( const ome::xml::model::primitives::NonNegativeInteger index)

Set the Index property.

Parameters
indexthe value to set.

References index.

Referenced by update().

+ Here is the caller graph for this function:

const ome::compat::weak_ptr< ome::xml::model::Annotation > & ome::xml::model::WellSample::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
indexthe index number of the Annotation.
annotationthe Annotation to set.
Returns
a weak pointer to the Annotation.
Exceptions
std::out_of_rangeif the index is invalid.

References annotationLinks.

const ome::compat::weak_ptr< ome::xml::model::PlateAcquisition > & ome::xml::model::WellSample::setLinkedPlateAcquisition ( OMEModelObject::indexed_container< ome::xml::model::PlateAcquisition, ome::compat::weak_ptr >::type::size_type  index,
const ome::compat::shared_ptr< ome::xml::model::PlateAcquisition > &  plateAcquisition_BackReference 
)

Set linked PlateAcquisition.

Note
The index must be valid.
Parameters
indexthe index number of the PlateAcquisition.
plateAcquisition_BackReferencethe PlateAcquisition to set.
Returns
a weak pointer to the PlateAcquisition.
Exceptions
std::out_of_rangeif the index is invalid.

References plateAcquisitions.

void ome::xml::model::WellSample::setPositionX ( ome::compat::shared_ptr< double > &  positionX)

Set the PositionX property.

Parameters
positionXthe value to set.

References positionX.

Referenced by update().

+ Here is the caller graph for this function:

void ome::xml::model::WellSample::setPositionY ( ome::compat::shared_ptr< double > &  positionY)

Set the PositionY property.

Parameters
positionYthe value to set.

References positionY.

Referenced by update().

+ Here is the caller graph for this function:

void ome::xml::model::WellSample::setTimepoint ( ome::compat::shared_ptr< ome::xml::model::primitives::Timestamp > &  timepoint)

Set the Timepoint property.

Parameters
timepointthe value to set.

References timepoint.

Referenced by update().

+ Here is the caller graph for this function:

void ome::xml::model::WellSample::setWell ( ome::compat::weak_ptr< ome::xml::model::Well > &  well_BackReference)

Set the Well property.

Parameters
well_BackReferencethe value to set.

References well.

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

Get size of linked Annotation list.

Returns
the size of the list.

References annotationLinks.

OMEModelObject::indexed_container< ome::xml::model::PlateAcquisition, ome::compat::weak_ptr >::type::size_type ome::xml::model::WellSample::sizeOfLinkedPlateAcquisitionList ( ) const

Get size of linked PlateAcquisition list.

Returns
the size of the list.

References plateAcquisitions.

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

Unlink Annotation.

Parameters
annotationthe 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 annotationLinks.

void ome::xml::model::WellSample::unlinkImage ( ome::compat::shared_ptr< ome::xml::model::Image > &  image)

Unlink Image.

Parameters
imagethe Image to unlink.
Todo:
This method is fairly pointless since it's equivalent to linking a null pointer. It could call link(0) internally.
bool ome::xml::model::WellSample::unlinkPlateAcquisition ( const ome::compat::shared_ptr< ome::xml::model::PlateAcquisition > &  plateAcquisition_BackReference)

Unlink PlateAcquisition.

Parameters
plateAcquisition_BackReferencethe PlateAcquisition to unlink.
Returns
true if the PlateAcquisition was unlinked, otherwise false if the PlateAcquisition 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 plateAcquisitions.

void ome::xml::model::WellSample::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
elementroot of the XML DOM tree to from which to construct the model object graph.
modelhandler for the OME model used to track instances and references seen during the update.
Exceptions
EnumerationExceptionif 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::addModelObject(), ome::xml::model::OMEModel::addReference(), 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(), setIndex(), setPositionX(), setPositionY(), setTimepoint(), ome::xml::model::detail::OMEModelObject::stripNamespacePrefix(), ome::xml::model::detail::OMEModelObject::update(), and validElementName().

bool ome::xml::model::WellSample::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
namethe 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: