rooRelationship


class description - source file - inheritance tree

class rooRelationship : public rooAttribute


    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

Data Members

protected:
rooClass* fOtherClass other_class() rooRelationship* fInverse inverse()

Class Description

 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.