46 #ifndef OME_XML_MODEL_REFERENCE_H
47 #define OME_XML_MODEL_REFERENCE_H
57 #include <ome/common/xml/dom/Document.h>
58 #include <ome/common/xml/dom/Element.h>
59 #include <ome/common/xml/dom/Node.h>
61 #include <ome/xml/model/primitives/Quantity.h>
63 #include <ome/xml/model/detail/OMEModelObject.h>
83 std::shared_ptr<Impl>
impl;
126 setID (
const std::string&
id) = 0;
139 link (std::shared_ptr<Reference>& reference,
140 std::shared_ptr<ome::xml::model::OMEModelObject>&
object);
158 #endif // OME_XML_MODEL_REFERENCE_H
OME model interface (abstract top-level container)
Definition: OMEModel.h:61
virtual ~Reference()
Destructor.
Definition: Reference.cpp:117
bool link(std::shared_ptr< Reference > &reference, std::shared_ptr< ome::xml::model::OMEModelObject > &object)
Link a given OME model object to this model object.
Definition: Reference.cpp:142
OME model object (concrete implementation).
Definition: OMEModelObject.h:64
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: Reference.cpp:128
virtual void setID(const std::string &id)=0
Sets the reference's target object ID.
Reference & operator=(const Reference &)
Assignment operator (deleted).
Private implementation details of Reference model object.
Definition: Reference.cpp:70
virtual void asXMLElementInternal(common::xml::dom::Document &document, common::xml::dom::Element &element) const
Transform the object hierarchy rooted at this element to XML.
Definition: Reference.cpp:156
virtual const std::string & getID() const =0
Retrieves the reference's target object ID.
std::shared_ptr< Impl > impl
Private implementation details.
Definition: Reference.h:81
const std::string & getXMLNamespace() const
Get the XML namespace for this model object.
Definition: Reference.cpp:173
Reference()
Default constructor.
Definition: Reference.cpp:102
Reference model object.
Definition: Reference.h:78
bool validElementName(const std::string &name) const
Check if a given element name is valid for processing by this model object.
Definition: Reference.cpp:122