| The SEDRIS Data Representation Model APPENDIX C - Types
 SE_Requirement
 | 
|---|
/*
 * STRUCT: SE_Requirement
 *
 *   Describes a relationship between two classes.  One class, the "from"
 *   class or "current" class, is taken from a context outside of this
 *   structure, while the "to" class is identified in this structure. The
 *   relationship from the "from" class to the "to" class is defined by this
 *   structure.
 *
 *   The relationship being described may be an association, aggregation,
 *   or component relationship.  Each class has a list of its association
 *   requirements, a list of its aggregation requirements, and a list of
 *   its component requirements. These lists are accessed via
 *   SE_AssociationsList(), SE_AggregatesList(), and SE_ComponentsList()
 *   (see). The SE_Requirement struct defined here is used as an
 *   entry in those lists.
 *
 *  Another way to describe lower_limit and upper_limit:
 *
 *     For fixed size arrays,
 *           multiplicity == SE_MLTPCTY_EXACTLY_N
 *           lower_limit  == upper_limit == (value of N)
 *
 *     For bounded arrays (at least N, at most M),
 *           multiplicity == SE_MLTPCTY_BOUNDED_ARRAY
 *           lower_limit  == (N, the lower bound value)
 *           upper_limit  == (M, the upper bound value)
 *
 *     For unbounded arrays (at least N, no upper bound),
 *           multiplicity == SE_MLTPCTY_UNBOUNDED_ARRAY
 *           lower_limit  == (N, lower bound value)
 *           upper_limit  == SE_MLTPCTY_NO_UPPER_BOUND (-1)
 */
} SE_Requirement;
Field Notes
 The ID of the 'to' class, always meaningful.
 The multiplicity of the "to" side of the relationship,
 always meaningful.  It answers the question "How many
 of the 'to' class objects are required to be related
 to a 'from' class object?"
 When more than one object of the "to" class is allowed,
 this ordered flag indicates whether or not the ordering of
 those "to" objects is important.  This ordered flag is
 meaningful only when the multiplicity allows more than
 one "to" class object (i.e. - this ordered flag should be
 SE_FALSE, but should also be ignored and is not meaningful
 when the multiplicity is SE_MLTPCTY_EXACTLY_ONE or
 SE_MLTPCTY_ZERO_OR_ONE).
 The lower limit for the number of "to" class objects.
 Only meaningful for multiplicity values of SE_MLTPCTY_EXACTLY_N,
 SE_MLTPCTY_BOUNDED_ARRAY, and SE_MLTPCTY_UNBOUNDED_ARRAY. The
 meaning of lower_limit is:
           for SE_MLTPCTY_EXACTLY_N, the lower_limit equals N,
                             requiring exactly N "to" objects
           for SE_MLTPCTY_BOUNDED_ARRAY, the lower_limit is the minimum
                                 number of "to" objects required
           for SE_MLTPCTY_UNBOUNDED_ARRAY, the lower_limit is the minimum
                                  number of "to" objects required
 The upper limit for the number of "to" class objects.
 Only meaningful for multiplicity values of SE_MLTPCTY_EXACTLY_N,
 SE_MLTPCTY_BOUNDED_ARRAY, and SE_MLTPCTY_UNBOUNDED_ARRAY.  The meaning
 of upper_limit is:
     for SE_MLTPCTY_EXACTLY_N, the upper_limit equals N,
                       requiring exactly N "to" objects
                       (the value N is stored in both the
                        lower_limit and upper_limit for
                        multiplicity SE_MLTPCTY_EXACTLY_N)
     for SE_MLTPCTY_BOUNDED_ARRAY, the upper_limit is the maximum
                           number of "to" objects required
     for SE_MLTPCTY_UNBOUNDED_ARRAY, there is no upper limit for the
                             number of "to" objects required,
                             so upper_limit is set to the
                             sentinel value SE_MLTPCTY_NO_UPPER_BOUND
 Set to the link class, if the relationship has one;
    otherwise, set to SE_DRM_CLS_NULL.
 A pointer to the next SE_Requirement struct in this
    singly-linked list of requirements; NULL if end-of-list.
Prev: SE_Registerable_Enum_Type_Structure.
Next: SE_Responsible_Party_Role_Code.
Return to:
    Top of this Page,
    Type Index
| 
| Last updated: July 16, 2004 | Copyright © 2004 SEDRIS |  |