|
DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
OksObject describes instance of OksClass. More...
#include <object.hpp>
Classes | |
| struct | SortById |
| struct | OksUid |
| struct | BindInfo |
Public Types | |
| typedef void(*) | notify_obj(OksObject *, void *) |
| typedef std::map< const std::string *, OksObject *, SortById > | SMap |
| typedef std::unordered_map< const std::string *, OksObject *, oks::hash_str, oks::equal_str > | Map |
| typedef std::unordered_set< OksObject *, oks::hash_obj_ptr, oks::equal_obj_ptr > | FSet |
| typedef std::set< OksObject *, std::less< OksObject * > > | Set |
| typedef std::list< OksObject * > | List |
| typedef std::list< OksObject *, boost::fast_pool_allocator< OksObject * > > | FList |
Public Member Functions | |
| OksObject (const OksClass *oks_class, const char *object_id=0, bool skip_init=false) | |
| OKS object constructor. | |
| OksObject (const OksObject &parent_object, const char *object_id=0) | |
| OKS object copy constructor. | |
| bool | operator== (const OksObject &) const |
| The equality operator. | |
| bool | operator!= (const OksObject &) const =delete |
| void * | operator new (size_t) |
| void | operator delete (void *ptr) |
| const OksClass * | GetClass () const |
| const std::string & | GetId () const |
| void | set_id (const std::string &id) |
| Set object ID. | |
| OksFile * | get_file () const |
| void | set_file (OksFile *file, bool update_owner=true) |
| Move object to different file. | |
| OksData * | GetAttributeValue (const std::string &name) const |
| Get value of attribute by name. | |
| OksData * | GetAttributeValue (const OksDataInfo *i) const noexcept |
| Get value of attribute by offset. | |
| OksData * | GetRelationshipValue (const std::string &) const |
| Get value of relationship by name. | |
| OksData * | GetRelationshipValue (const OksDataInfo *i) const noexcept |
| Get value of relationship by offset. | |
| void | SetAttributeValue (const std::string &name, OksData *data) |
| Set value of attribute by name. | |
| void | SetAttributeValue (const OksDataInfo *data_info, OksData *data) |
| Set value of attribute by offset. | |
| void | SetRelationshipValue (const std::string &name, OksData *data, bool skip_non_null_check=false) |
| Set value of relationship by name. | |
| void | SetRelationshipValue (const OksDataInfo *data_info, OksData *data, bool skip_non_null_check=false) |
| Set value of relationship by offset. | |
| void | SetRelationshipValue (const std::string &name, OksObject *object) |
| Set value of single-value relationship by name. | |
| void | SetRelationshipValue (const OksDataInfo *data_info, OksObject *object) |
| Set value of single-value relationship by offset. | |
| void | AddRelationshipValue (const std::string &name, OksObject *object) |
| Add object value to multi-value relationship by name. | |
| void | AddRelationshipValue (const OksDataInfo *data_info, OksObject *object) |
| Add object value to multi-value relationship by offset. | |
| void | RemoveRelationshipValue (const std::string &name, OksObject *object) |
| Remove object value from multi-value relationship by name. | |
| void | RemoveRelationshipValue (const OksDataInfo *data_info, OksObject *object) |
| Remove object value from multi-value relationship by offset. | |
| void | SetRelationshipValue (const std::string &rel_name, const std::string &class_name, const std::string &object_id) |
| Set class-name and object-id value of single-value relationship by name. | |
| void | AddRelationshipValue (const std::string &rel_name, const std::string &class_name, const std::string &object_i) |
| Add class-name and object-id value to multi-value relationship by name. | |
| void | RemoveRelationshipValue (const std::string &rel_name, const std::string &class_name, const std::string &object_i) |
| Remove class-name and object-id value from multi-value relationship by name. | |
| const std::list< OksRCR * > * | reverse_composite_rels () const |
| Return information about composite parents. The method returns list of the OKS object's reverse composite relationships. | |
| FList * | get_all_rels (const std::string &name="*") const |
| Return objects referencing this one via relationship with given name. | |
| void | SetTransientData (void *d) const |
| Set transient user data associated with given object. Such data are not stored on file and only exist while OksKernel object is not destroyed. | |
| void * | GetTransientData () const |
| Get transient user data associated with given object. Return data set using SetTransientData() method. | |
| void | set_int32_id (int32_t object_id) |
| Set object id is used to assign an object unique integer number. Such data are not stored on file and only exist while OksKernel object is not destroyed. | |
| int32_t | get_int32_id () const |
| Get object id associated with given object. Return integer number set using set_int32_id() method. | |
| bool | SatisfiesQueryExpression (OksQueryExpression *query_exp) const |
| Check if object satisfies query expression. | |
| bool | satisfies (const OksObject *goal, const oks::QueryPathExpression &expresssion, OksObject::List &path) const |
| OksObject::List * | find_path (const oks::QueryPath &query) const |
| bool | is_consistent (const std::set< OksFile * > &, const char *msg) const |
| std::string | report_dangling_references () const |
| void | references (OksObject::FSet &refs, unsigned long recursion_depth, bool add_self=false, oks::ClassSet *classes=0) const |
| bool | is_duplicated () const |
| void | add_RCR (OksObject *, const OksRelationship *) |
| void | remove_RCR (OksObject *, const OksRelationship *) noexcept |
Static Public Member Functions | |
| static void | destroy (OksObject *obj, bool fast=false) |
| Destroy OKS object. | |
| static bool | are_equal_fast (const OksObject *o1, const OksObject *o2) |
| The fast equal method. | |
Private Member Functions | |
| ~OksObject () | |
| void | __report_type_cvt_warning (const oks::ReadFileParams &, const OksAttribute &, const OksData &, const OksData::Type, int32_t) const |
| void | __report_cardinality_cvt_warning (const oks::ReadFileParams &, const OksRelationship &) const |
| int32_t | __get_num (const oks::ReadFileParams ¶ms) |
| void | read_body (const oks::ReadFileParams &, bool) |
| OksObject (const oks::ReadFileParams &, OksClass *, const std::string &) | |
| OksObject (size_t, const OksData *) | |
| OksObject (OksClass *c, const std::string &id, void *user_data, int32_t object_id, int32_t duplicated_object_id_idx, OksFile *f) | |
| OksObject & | operator= (const OksObject &) |
| void | init1 (const OksFile *=0) |
| void | init2 (bool skip_init=false) |
| void | init3 () |
| void | init3 (OksClass *c) |
| void | check_ids () |
| void | notify () |
| void | check_class_type (const OksRelationship *, const OksClass *) |
| void | check_class_type (const OksRelationship *r, const OksObject *o) |
| void | check_non_null (const OksRelationship *, const OksObject *) |
| void | check_file_lock (const OksAttribute *, const OksRelationship *) |
| void | set_unique_id () |
| void | put (OksXmlOutputStream &, bool force_defaults) const |
| void | bind_objects () |
| void | unbind_file (const OksFile *) |
| bool | check_links_and_report (const OksObject *, const std::set< OksFile * > &, const std::string &, const char *) const |
| notify_obj | get_change_notify () const |
| void | create_notify () |
| void | change_notify () |
| void | delete_notify () |
Static Private Member Functions | |
| static OksObject * | read (const oks::ReadFileParams &) |
| static void | put_object_attributes (OksXmlOutputStream &, const OksData &) |
| static void | bind (OksData *, const BindInfo &) |
Private Attributes | |
| struct dunedaq::oks::OksObject::OksUid | uid |
| OksData * | data |
| std::list< OksRCR * > * | p_rcr |
| void * | p_user_data |
| int32_t | p_int32_id |
| int32_t | p_duplicated_object_id_idx |
| OksFile * | file |
Static Private Attributes | |
| static const char | obj_xml_tag [] = "obj" |
| static const char | obj2_xml_tag [] = "o" |
| static const char | attribute_xml_tag [] = "attr" |
| static const char | relationship_xml_tag [] = "rel" |
| static const char | class_xml_attribute [] = "class" |
| static const char | class2_xml_attribute [] = "c" |
| static const char | id_xml_attribute [] = "id" |
| static const char | id2_xml_attribute [] = "i" |
| static const char | name_xml_attribute [] = "name" |
| static const char | type_xml_attribute [] = "type" |
| static const char | num_xml_attribute [] = "num" |
| static const char | value_xml_attribute [] = "val" |
| static const char | data_xml_tag [] = "data" |
| static const char | ref_xml_tag [] = "ref" |
Friends | |
| class | OksClass |
| struct | OksData |
| class | OksKernel |
| class | OksIndex |
| class | OksObjectSortBy |
| struct | OksLoadObjectsJob |
| struct | oks::ReadFileParams |
| struct | oks::ReloadObjects |
| std::ostream & | operator<< (std::ostream &out, const OksObject &obj) |
| Detailed stream operator. | |
| std::ostream & | operator<< (std::ostream &s, const OksObject *o) |
| Short stream operator. | |
OksObject describes instance of OksClass.
This class implements OKS object that is an instance of OKS class. Each object has unique ID string in a scope of class and its derived sub-classes. The properties of object are described by values of its attributes (i.e. values of primitive types like strings, integers, floats, see also OksAttribute) and relationships (i.e. references on others OKS objects, see also OksRelationship).
Definition at line 1143 of file object.hpp.
| typedef std::list<OksObject*, boost::fast_pool_allocator<OksObject*> > dunedaq::oks::OksObject::FList |
Definition at line 1181 of file object.hpp.
| typedef std::unordered_set<OksObject*, oks::hash_obj_ptr, oks::equal_obj_ptr> dunedaq::oks::OksObject::FSet |
Definition at line 1171 of file object.hpp.
| typedef std::list<OksObject*> dunedaq::oks::OksObject::List |
Definition at line 1179 of file object.hpp.
| typedef std::unordered_map<const std::string*, OksObject*, oks::hash_str, oks::equal_str> dunedaq::oks::OksObject::Map |
Map of pointers to OksObject (unsorted)
Definition at line 1170 of file object.hpp.
| typedef void(*) dunedaq::oks::OksObject::notify_obj(OksObject *, void *) |
Definition at line 1155 of file object.hpp.
| typedef std::set<OksObject*, std::less<OksObject*> > dunedaq::oks::OksObject::Set |
Definition at line 1175 of file object.hpp.
| typedef std::map<const std::string*, OksObject*, SortById> dunedaq::oks::OksObject::SMap |
Map of pointers to OksObject sorted by object Id
Definition at line 1166 of file object.hpp.
| dunedaq::oks::OksObject::OksObject | ( | const OksClass * | oks_class, |
| const char * | object_id = 0, | ||
| bool | skip_init = false ) |
OKS object constructor.
Create new OKS object providing class and object ID. If the object ID is not set, the OKS creates new object with random unique ID. To create a new object the OKS kernel active data file has to be set.
In case of problems the error message is printed and the uid.class_id is set to 0 to flag the error.
The parameters are:
| oks_class | pointer to OKS class |
| object_id | optional object unique ID |
| skip_init | if true, skip initialization of OKS data |
Definition at line 1151 of file object.cpp.
| dunedaq::oks::OksObject::OksObject | ( | const OksObject & | parent_object, |
| const char * | object_id = 0 ) |
OKS object copy constructor.
Create new OKS object as copy of parent. If the object ID is not set, the OKS creates new object with random unique ID. To create a new object the OKS kernel active data file has to be set.
In case of problems the error message is printed and the uid.class_id is set to 0 to flag the error.
The parameters are:
| parent_object | pointer to OKS class |
| object_id | optional object unique ID |
Definition at line 1179 of file object.cpp.
|
private |
Definition at line 1348 of file object.cpp.
|
private |
Construct OKS object from input stream.
| oks::exception | is thrown in case of errors. |
Definition at line 1127 of file object.cpp.
|
private |
Definition at line 1252 of file object.cpp.
|
private |
Definition at line 1261 of file object.cpp.
|
private |
Definition at line 530 of file object.cpp.
|
private |
Definition at line 510 of file object.cpp.
|
private |
Definition at line 436 of file object.cpp.
| void dunedaq::oks::OksObject::add_RCR | ( | OksObject * | o, |
| const OksRelationship * | r ) |
Definition at line 2500 of file object.cpp.
| void dunedaq::oks::OksObject::AddRelationshipValue | ( | const OksDataInfo * | data_info, |
| OksObject * | object ) |
Add object value to multi-value relationship by offset.
In case of problems (e.g. wrong class type, relationship is single-value or RCR cannot be set) the oks::exception is thrown.
The parameters are:
| data_info | describes offset of relationship's value for given OKS class |
| object | the object to be added |
| oks::exception | is thrown in case of problems. |
Definition at line 2235 of file object.cpp.
| void dunedaq::oks::OksObject::AddRelationshipValue | ( | const std::string & | name, |
| OksObject * | object ) |
Add object value to multi-value relationship by name.
In case of problems (e.g. no relationship with such name, wrong class type, relationship is single-value or RCR cannot be set) the oks::exception is thrown.
The parameters are:
| name | name of relationship |
| object | the object to be added |
| oks::exception | is thrown in case of problems. |
Definition at line 2266 of file object.cpp.
| void dunedaq::oks::OksObject::AddRelationshipValue | ( | const std::string & | rel_name, |
| const std::string & | class_name, | ||
| const std::string & | object_i ) |
Add class-name and object-id value to multi-value relationship by name.
In case of problems (e.g. no relationship with such name, unknown class) the oks::exception is thrown.
The parameters are:
| rel_name | name of relationship |
| class_name | class name of the referenced object |
| object_id | ID of the referenced object |
| oks::exception | is thrown in case of problems. |
Definition at line 2400 of file object.cpp.
The fast equal method.
This method replaces operator!= used by OKS library in the past, since the operator causes problems starting from gcc62 assuming &reference != nullptr
The method returns false, if comparing objects belong to classes with different names or their IDs are not equal.
Definition at line 1578 of file object.cpp.
Definition at line 2552 of file object.cpp.
|
private |
Binds objects and returns true on success
Definition at line 2660 of file object.cpp.
|
private |
|
private |
Definition at line 1970 of file object.cpp.
|
inlineprivate |
Definition at line 1761 of file object.hpp.
|
private |
Definition at line 3125 of file object.cpp.
|
private |
Definition at line 172 of file object.cpp.
|
private |
Definition at line 2840 of file object.cpp.
|
private |
Definition at line 1958 of file object.cpp.
|
private |
|
private |
Destroy OKS object.
This the the only way available to user to destroy OKS object since ~OksObject() is private.
When an object is destroyed, it shall not be referenced by other objects.
In case of problems the oks::exception is thrown.
The parameters are:
| obj | the object to be destroyed |
| fast | if true, skip extra protection checks |
Definition at line 1284 of file object.cpp.
| OksObject::List * dunedaq::oks::OksObject::find_path | ( | const oks::QueryPath & | query | ) | const |
Definition at line 923 of file query.cpp.
| OksObject::FList * dunedaq::oks::OksObject::get_all_rels | ( | const std::string & | name = "*" | ) | const |
Return objects referencing this one via relationship with given name.
The method returns list of objects which have a reference on given one. If the relationship name is set to "*", then the method takes into account all relationships of all objects. The method performs full scan of all OKS objects and it is not recommended at large scale to build complete graph of relations between all database object; if only composite parents are needed, them the reverse_composite_rels() method has to be used.
The parameters are:
| name | the name of relationship used to reference given object (by default ANY relationship) |
Definition at line 3062 of file object.cpp.
|
private |
Definition at line 2793 of file object.cpp.
|
inline |
|
inline |
Get object id associated with given object. Return integer number set using set_int32_id() method.
Definition at line 1635 of file object.hpp.
|
inlinenoexcept |
Get value of attribute by offset.
The method returns pointer on OksData value for given attribute offset. The method is optimised for performance and does not check validity of offset.
The parameter is:
| data_info | describes offset of attribute's value for given OKS class |
Definition at line 1352 of file object.hpp.
| OksData * dunedaq::oks::OksObject::GetAttributeValue | ( | const std::string & | name | ) | const |
Get value of attribute by name.
The method returns pointer on OksData value for given attribute.
In case of problems (e.g. no attribute with such name) the oks::exception is thrown.
The parameter is:
| name | name of attribute |
| oks::exception | is thrown in case of problems. |
Definition at line 1852 of file object.cpp.
|
inline |
|
inline |
|
inlinenoexcept |
Get value of relationship by offset.
The method returns pointer on OksData value for given relationship offset. The method is optimised for performance and does not check validity of offset.
The parameter is:
| data_info | describes offset of relationship's value for given OKS class |
Definition at line 1383 of file object.hpp.
| OksData * dunedaq::oks::OksObject::GetRelationshipValue | ( | const std::string & | name | ) | const |
Get value of relationship by name.
The method returns pointer on OksData value for given relationship.
In case of problems (e.g. no relationship with such name) the oks::exception is thrown.
The parameter is:
| name | name of relationship |
| oks::exception | is thrown in case of problems. |
Definition at line 1944 of file object.cpp.
|
inline |
Get transient user data associated with given object. Return data set using SetTransientData() method.
Definition at line 1621 of file object.hpp.
|
private |
Definition at line 193 of file object.cpp.
|
private |
Definition at line 275 of file object.cpp.
|
private |
Definition at line 317 of file object.cpp.
|
private |
| bool dunedaq::oks::OksObject::is_consistent | ( | const std::set< OksFile * > & | includes, |
| const char * | msg ) const |
The method checks the schema constraints for given object and the file's includes. Return false, if object is inconsistent.
Definition at line 2917 of file object.cpp.
|
inline |
Definition at line 1667 of file object.hpp.
|
inlineprivate |
Definition at line 1754 of file object.hpp.
|
inline |
|
inline |
Fast new operator to reduce resources consumption.
Definition at line 1257 of file object.hpp.
The equality operator.
The operator returns true, if comparing objects belong to the same class or classes with equal names (e.g. belonging to different OksKernels) and their attributes and relationships are equal.
Definition at line 1590 of file object.cpp.
|
private |
Definition at line 1735 of file object.cpp.
|
staticprivate |
Definition at line 1714 of file object.cpp.
|
staticprivate |
Read OKS object from input stream.
| oks::exception | is thrown in case of errors, e.g. bad input stream, duplicated object, abstract class of object. |
Definition at line 357 of file object.cpp.
|
private |
Definition at line 542 of file object.cpp.
| void dunedaq::oks::OksObject::references | ( | OksObject::FSet & | refs, |
| unsigned long | recursion_depth, | ||
| bool | add_self = false, | ||
| oks::ClassSet * | classes = 0 ) const |
The method puts to set objects recursively referenced by given object.
Definition at line 3043 of file object.cpp.
|
noexcept |
Definition at line 2528 of file object.cpp.
| void dunedaq::oks::OksObject::RemoveRelationshipValue | ( | const OksDataInfo * | data_info, |
| OksObject * | object ) |
Remove object value from multi-value relationship by offset.
In case of problems (e.g. relationship is single-value or there is no such object) the oks::exception is thrown.
The parameters are:
| data_info | describes offset of relationship's value for given OKS class |
| object | the object to be removed from relationship |
| oks::exception | is thrown in case of problems. |
Definition at line 2280 of file object.cpp.
| void dunedaq::oks::OksObject::RemoveRelationshipValue | ( | const std::string & | name, |
| OksObject * | object ) |
Remove object value from multi-value relationship by name.
In case of problems (e.g. no relationship with such name, relationship is single-value or there is no such object) the oks::exception is thrown.
The parameters are:
| name | name of relationship |
| object | the object to be removed from relationship |
| oks::exception | is thrown in case of problems. |
Definition at line 2317 of file object.cpp.
| void dunedaq::oks::OksObject::RemoveRelationshipValue | ( | const std::string & | rel_name, |
| const std::string & | class_name, | ||
| const std::string & | object_i ) |
Remove class-name and object-id value from multi-value relationship by name.
In case of problems (e.g. no relationship with such name, no such object) the oks::exception is thrown.
The parameters are:
| rel_name | name of relationship |
| class_name | class name of the referenced object |
| object_id | ID of the referenced object |
| oks::exception | is thrown in case of problems. |
Definition at line 2453 of file object.cpp.
| std::string dunedaq::oks::OksObject::report_dangling_references | ( | ) | const |
The method returns string containing dangling references for given object.
Definition at line 2888 of file object.cpp.
|
inline |
Return information about composite parents. The method returns list of the OKS object's reverse composite relationships.
Definition at line 1589 of file object.hpp.
| bool dunedaq::oks::OksObject::satisfies | ( | const OksObject * | goal, |
| const oks::QueryPathExpression & | expresssion, | ||
| OksObject::List & | path ) const |
Definition at line 936 of file query.cpp.
| bool dunedaq::oks::OksObject::SatisfiesQueryExpression | ( | OksQueryExpression * | query_exp | ) | const |
Check if object satisfies query expression.
The method parses query expression structures and applies them to the object's values. In case of incorrect query expression parameter the method throws exception.
| query_exp | the query expression |
| std::exception | is thrown in case of problems. |
Definition at line 619 of file query.cpp.
Move object to different file.
Move object to an existing file. Both, present file where object is stored and new destination file have to be writable by user.
The parameters are:
| file | destination file |
| update_owner | mark original file as updated |
| oks::exception | is thrown in case of problems. |
Definition at line 1468 of file object.cpp.
| void dunedaq::oks::OksObject::set_id | ( | const std::string & | id | ) |
Set object ID.
The ID has to be unique in scope of object's class and all classes participating in inheritance hierarchy of this class.
| id | new identity of the object In case of problems the oks::exception is thrown. |
Definition at line 1488 of file object.cpp.
|
inline |
Set object id is used to assign an object unique integer number. Such data are not stored on file and only exist while OksKernel object is not destroyed.
Definition at line 1628 of file object.hpp.
|
private |
Definition at line 151 of file object.cpp.
| void dunedaq::oks::OksObject::SetAttributeValue | ( | const OksDataInfo * | data_info, |
| OksData * | data ) |
Set value of attribute by offset.
It the type of data do not match to the defined by the attribute of object's class, then the method tries to convert them and to print out warning message.
In case of problems (e.g. data are out of range) the oks::exception is thrown.
The parameters are:
| data_info | describes offset of attribute's value for given OKS class |
| data | new attribute value |
| oks::exception | is thrown in case of problems. |
Definition at line 1866 of file object.cpp.
| void dunedaq::oks::OksObject::SetAttributeValue | ( | const std::string & | name, |
| OksData * | data ) |
Set value of attribute by name.
It the type of data do not match to the defined by the attribute of object's class, then the method tries to convert them and to print out warning message.
In case of problems (e.g. no attribute with such name, data are out of range) the oks::exception is thrown.
The parameters are:
| name | name of attribute |
| data | new attribute value |
| oks::exception | is thrown in case of problems. |
Definition at line 1930 of file object.cpp.
| void dunedaq::oks::OksObject::SetRelationshipValue | ( | const OksDataInfo * | data_info, |
| OksData * | data, | ||
| bool | skip_non_null_check = false ) |
Set value of relationship by offset.
In case of problems (e.g. wrong class type or cardinality constraint) the oks::exception is thrown.
The parameters are:
| data_info | describes offset of relationship's value for given OKS class |
| data | new relationship value |
| skip_non_null_check | if true, ignore low cardinality constraint |
| oks::exception | is thrown in case of problems. |
Definition at line 1996 of file object.cpp.
| void dunedaq::oks::OksObject::SetRelationshipValue | ( | const OksDataInfo * | data_info, |
| OksObject * | object ) |
Set value of single-value relationship by offset.
In case of problems (e.g. wrong class type or relationship is multi-value) the oks::exception is thrown.
The parameters are:
| data_info | describes offset of relationship's value for given OKS class |
| object | new relationship value |
| oks::exception | is thrown in case of problems. |
Definition at line 2139 of file object.cpp.
| void dunedaq::oks::OksObject::SetRelationshipValue | ( | const std::string & | name, |
| OksData * | data, | ||
| bool | skip_non_null_check = false ) |
Set value of relationship by name.
In case of problems (e.g. no relationship with such name, wrong class type or cardinality constraint) the oks::exception is thrown.
The parameters are:
| name | name of relationship |
| data | new relationship value |
| skip_non_null_check | if true, ignore low cardinality constraint |
| oks::exception | is thrown in case of problems. |
Definition at line 2125 of file object.cpp.
| void dunedaq::oks::OksObject::SetRelationshipValue | ( | const std::string & | name, |
| OksObject * | object ) |
Set value of single-value relationship by name.
In case of problems (e.g. no relationship with such name, wrong class type or relationship is multi-value) the oks::exception is thrown.
The parameters are:
| name | name of relationship |
| object | new relationship value |
| oks::exception | is thrown in case of problems. |
Definition at line 2183 of file object.cpp.
| void dunedaq::oks::OksObject::SetRelationshipValue | ( | const std::string & | rel_name, |
| const std::string & | class_name, | ||
| const std::string & | object_id ) |
Set class-name and object-id value of single-value relationship by name.
In case of problems (e.g. no relationship with such name, wrong class type or relationship is multi-value) the oks::exception is thrown.
The parameters are:
| rel_name | name of relationship |
| class_name | class name of the referenced object |
| object_id | ID of the referenced object |
| oks::exception | is thrown in case of problems. |
Definition at line 2331 of file object.cpp.
|
inline |
Set transient user data associated with given object. Such data are not stored on file and only exist while OksKernel object is not destroyed.
Definition at line 1614 of file object.hpp.
|
private |
Definition at line 2748 of file object.cpp.
|
friend |
Definition at line 1151 of file object.hpp.
|
friend |
Definition at line 1152 of file object.hpp.
|
friend |
Definition at line 1145 of file object.hpp.
|
friend |
Definition at line 1146 of file object.hpp.
|
friend |
Definition at line 1148 of file object.hpp.
|
friend |
Definition at line 1147 of file object.hpp.
|
friend |
Definition at line 1150 of file object.hpp.
|
friend |
Definition at line 1149 of file object.hpp.
|
friend |
Detailed stream operator.
Send to stream complete description of OKS object:
Definition at line 1624 of file object.cpp.
|
friend |
Short stream operator.
Send to stream OKS object reference in format "foo@bar" (i.e. object "foo" from class "bar")
Definition at line 1609 of file object.cpp.
|
staticprivate |
Definition at line 1798 of file object.hpp.
|
staticprivate |
Definition at line 1801 of file object.hpp.
|
staticprivate |
Definition at line 1800 of file object.hpp.
|
private |
Definition at line 1685 of file object.hpp.
|
staticprivate |
Definition at line 1809 of file object.hpp.
|
private |
Definition at line 1690 of file object.hpp.
|
staticprivate |
Definition at line 1803 of file object.hpp.
|
staticprivate |
Definition at line 1802 of file object.hpp.
|
staticprivate |
Definition at line 1804 of file object.hpp.
|
staticprivate |
Definition at line 1806 of file object.hpp.
|
staticprivate |
Definition at line 1797 of file object.hpp.
|
staticprivate |
Definition at line 1796 of file object.hpp.
|
private |
Definition at line 1689 of file object.hpp.
|
private |
Definition at line 1688 of file object.hpp.
|
private |
Definition at line 1686 of file object.hpp.
|
mutableprivate |
Definition at line 1687 of file object.hpp.
|
staticprivate |
Definition at line 1810 of file object.hpp.
|
staticprivate |
Definition at line 1799 of file object.hpp.
|
staticprivate |
Definition at line 1805 of file object.hpp.
|
private |
|
staticprivate |
Definition at line 1808 of file object.hpp.