rooRelationship
class description - source file - inheritance tree
public:
rooRelationship rooRelationship()
rooRelationship rooRelationship(void* imp)
rooRelationship rooRelationship(rooRelationship&)
virtual void ~rooRelationship()
TClass* Class()
Int_t copy_mode() const
Int_t encoded_assoc_number() const
const rooRelationship& inverse() const
Bool_t is_bidirectional() const
Bool_t is_inline() const
virtual Bool_t is_relationship() const
Bool_t is_short() const
Bool_t is_to_many() const
virtual TClass* IsA() const
const rooClass& other_class() const
Int_t propagation() const
Int_t rel_kind() const
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
Int_t versioning() const
protected:
rooClass* fOtherClass other_class()
rooRelationship* fInverse inverse()
rooRelationship corresponds to d_Relationship class.
The class rooRelationship represents descriptors for relationships between
classes in the schema of the federated database. An instance of
rooRelationship is called a relationship descriptor.
______________________________________________________________________________
About Relationship Descriptors
A relationship descriptor provides information about a particular
relationship, called its described relationship.
You should never instantiate this class directly. Instead, you can obtain
a relationship descriptor from a class descriptor for the class that defines
the relationship:
Call the rooClass::resolve_relationship() member function of the class
descriptor to look up the relationship by name.
Call the rooClass::defines_relationship_begin() member function of the
class descriptor to get an iterator for all relationships defined in the
class.
Because a relationship descriptor is a special kind of attribute
descriptor, you can also obtain a relationship descriptor as you would
obtain any attribute descriptor. If you do so, however, you need to cast
the resulting attribute descriptor to a relationship descriptor before
you can call any member function defined in this class.
rooRelationship()
for internal use only
~rooRelationship()
Int_t rel_kind() const
Gets the ODMG relationship kind of the described relationship.
Returns: The ODMG relationship kind of the described relationship;
one of the following:
kooREL_REF indicates a to-one relationship.
kooREL_LIST indicates a to-many relationship.
Because Objectivity/DB does not support the ODMG relationship type
kooREL_SET, this member function simply tells whether the relationship
is to-one or to-many.
The is_to_many() member function is a simpler way to obtain the same
information.
Bool_t is_relationship() const
Overrides the inherited member function. Indicates that this is a
relationship descriptor. Returns kTRUE
Bool_t is_bidirectional() const
Returns kTRUE if the described relationship is bidirectional;
otherwise, kFALSE.
Bool_t is_inline() const
Returns kTRUE if the described relationship is an inline relationship;
otherwise, kFALSE
Bool_t is_short() const
Returns kTRUE if the described relationship is a short relationship;
otherwise, kFALSE.
Bool_t is_to_many() const
Returns kTRUE if the described relationship is a to-many relationship and
kFALSE if it is a to-one relationship.
Int_t encoded_assoc_number() const
Returns the type number encoding characteristics of the described
relationship.
The bidirectional relationships in the schema are assigned
serially-allocated 32-bit integers, called their encoded association
numbers. Certain high-order bits of an encoded association number are
set to encrypt the relationship's direction and other characteristics.
Most applications do not need to work with encoded association numbers.
However, if you need to exactly recreate another schema description,
you can call this member function of a relationship descriptor for a
bidirectional relationship that you want to recreate. You can pass the
resulting number as the specifiedAssocNum parameter to the
add_bidirectional_relationship() member function of the proposed class
in which you are duplicating the existing description.
Int_t versioning() const
Returns the versioning mode of the described relationship, which
specifies what happens to an association from a source object to a
destination object when a new version of the source object is created;
one of the following:
0 - indicates that this relationship descriptor has no information
about the versioning mode.
kooVersionDrop - indicates that the association is deleted.
kooVersionMove - indicates that the association is moved from the
source object to its new version.
kooVersionCopy - indicates that the association is copied from the
source object to its new version.
Int_t propagation() const
Returns the propagation behavior of the described relationship,
which specifies whether the locking and deletion operations are
propagated from locked or deleted source objects to their related
destination objects; one of the following:
0 - indicates that neither locks nor deletions are propagated.
kooLockPropagationYesDeletePropagationNo - indicates that locks are
propagated, but deletions are not.
kooLockPropagationNoDeletePropagationYes - indicates that deletions
are propagated, but locks are not.
kooLockPropagationYesDeletePropagationYes - indicates that both locks
and deletions are propagated.
Int_t copy_mode() const
Returns the copy mode of the described relationship, which specifies what
happens to an association from a source object to a destination object
when the source object is copied; one of the following:
0 - indicates that this relationship descriptor has no information
about the copy mode.
kooCopyDrop - indicates that the association is deleted.
kooCopyMove - indicates that the association is moved from the source
object to its new copy.
kooCopyCopy - indicates that the association is copied from the source
object to the new object.
Inline Functions
rooRelationship rooRelationship(void* imp)
const rooRelationship& inverse() const
const rooClass& other_class() const
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
rooRelationship rooRelationship(rooRelationship&)
Author: Valeriy Onuchin 11/09/2000
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.