Object class inheritance
Directory Server supports object inheritance for object class and attribute definitions. A new object class can be defined with parent classes (multiple inheritance) and the additional or changed attributes.
Each entry is assigned to a single structural object class. All
object classes inherit from the abstract object class
top.
They can also inherit from other object classes. The object class
structure determines the list of required and allowed attributes for
a particular entry. Object class inheritance depends on the sequence
of object class definitions. An object class can only inherit from
object classes that precede it. For example, the object class structure
for a person entry might be defined in the LDIF file as: objectClass: top
objectClass: person
objectClass: organizationalPerson In this structure,
the organizationalPerson inherits from the person
and the top object classes, while person object class only inherits
from the top object class. Therefore, when you assign the organizationalPerson object
class to an entry, it automatically inherits the required and allowed
attributes from the superior object class. In this case, the person
object class.If the attribute
ibm-slapdSchemaCheck is set to V3 in
the configuration file, then every entry can have only one structural
object class. If multiple structural object classes are added, they
must have parent-child relationship. For example, an entry type person, X,
can be defined by using the following structural object classes: objectClass: top
objectClass: person
objectClass: organizationalPersonIn this case, for the
entry, X, the MUST attributes of
the child structural object class, organizationalPerson,
must be defined.If the attribute
ibm-slapdSchemaCheck is set to
V3_lenient in the configuration file, then an entry can have one or more
structural object classes. If multiple structural object classes are added, it is not a must to have
parent-child relationship. For example, an entry, Y, can also be defined by using
the following structural object classes:
objectClass: person
objectClass: accountIn this case, for the
entry, Y, the MUST attributes of the structural object classes,
person, and account, must be defined. Note: In Directory Server, by default, the attribute
ibm-slapdSchemaCheck is set to
V3_lenient.Schema update operations are checked against the schema class hierarchy for consistency before processed and committed.