10#ifndef OKS_RELATIONSHIP_H
11#define OKS_RELATIONSHIP_H
21class OksXmlOutputStream;
22class OksXmlInputStream;
148 const std::string& type,
154 const std::string& description,
205 void set_type(
const std::string& type);
Provides interface to the OKS kernel.
OksObject describes instance of OksClass.
void set_type(const std::string &type)
Set relationship type.
static const char class_type_xml_attr[]
friend std::ostream & operator<<(std::ostream &, const OksRelationship &)
void set_is_exclusive(bool exclusive)
Set the composite relationship exclusive property.
bool get_is_exclusive() const noexcept
static const char ordered_xml_attr[]
static const char low_cc_xml_attr[]
static const char relationship_xml_tag[]
private method to save in XML stream
static const char mv_implement_xml_attr[]
bool get_is_composite() const noexcept
CardinalityConstraint p_high_cc
bool get_is_dependent() const noexcept
const std::string & get_name() const noexcept
static const char description_xml_attr[]
static const char is_composite_xml_attr[]
void set_is_dependent(bool dependent)
Set the composite relationship dependent property.
void set_is_composite(bool composite)
Set the composite relationship property.
CardinalityConstraint get_high_cardinality_constraint() const noexcept
Get relationship high cardinality constraint.
void set_high_cardinality_constraint(CardinalityConstraint)
Set relationship high cardinality constraint.
OksRelationship(const std::string &name, OksClass *p=nullptr)
OKS relationship simple constructor.
static const char is_exclusive_xml_attr[]
void save(OksXmlOutputStream &) const
private constructor from XML stream
void set_low_cardinality_constraint(CardinalityConstraint cc)
Set relationship low cardinality constraint.
static const char name_xml_attr[]
static const char * card2str(CardinalityConstraint) noexcept
const std::string & get_description() const noexcept
CardinalityConstraint get_low_cardinality_constraint() const noexcept
Get relationship low cardinality constraint.
void set_description(const std::string &description)
Set relationship description.
const std::string & get_type() const noexcept
std::string p_description
static const char high_cc_xml_attr[]
bool operator==(const class OksRelationship &) const
CardinalityConstraint p_low_cc
OksClass * get_class_type() const noexcept
void set_name(const std::string &)
Set relationship name.
static const char is_dependent_xml_attr[]
static CardinalityConstraint str2card(const char *) noexcept
the structure to pass common parameters to various read() methods of OksData and OksObject class