jspωiki
ObjectClass

Overview#

ObjectClass is a LDAP Schema element that correlates an OID and a set of names with a set of required and/or optional AttributeType.

ObjectClass has an OID of: 2.5.4.0

The object class description format is described in RFC 4512, section 4.1.1. The definition is as follows:

     ObjectClassDescription = LPAREN WSP
         numericoid                 ; object identifier
         [ SP "NAME" SP qdescrs ]   ; short names (descriptors)
         [ SP "DESC" SP qdstring ]  ; description
         [ SP "OBSOLETE" ]          ; not active
         [ SP "SUP" SP oids ]       ; superior object classes
         [ SP kind ]                ; kind of class
         [ SP "MUST" SP oids ]      ; attribute types
         [ SP "MAY" SP oids ]       ; attribute types
         extensions WSP RPAREN
         
     kind = "ABSTRACT" / "STRUCTURAL" / "AUXILIARY"

objectClass Definition#

The components of an object class definition include:
  • numericoid - A numeric OID used to uniquely identify the object class. Some server providers also allows a non-numeric OID for the purpose of convenience.
  • NAME - An optional set of human-readable names that may be used to refer to the object class. If there is a single name, then it should be enclosed in single quotes. If there are multiple names, then they should each be enclosed in single quotes separated by spaces and the entire set of names should be enclosed in parentheses.
  • SUP - An optional set of superior class(es) for the object class. When an object class has multiple superior classes, the "SUP" keyword should be followed by a space and the name or OID of the superior class. If there are multiple superior classes, then they should be separated by dollar signs and the entire set of superior classes should be enclosed in parentheses.
  • ObjectClass Types - An optional ObjectClass Types value that indicate whether the object class is STRUCTURAL, AUXILIARY, or ABSTRACT.
  • MUST - An optional set of one or more attribute type names or OIDs for attributes that MUST be present in entries containing the object class.
  • MAY - An optional set of one or more attribute type names or OIDs for attributes that MAY optionally be present in entries containing the object class.
  • An optional human-readable description (DESC). If there is a description, then it should be enclosed in single quotation marks.
  • An optional OBSOLETE that may be used to indicate whether the object class is active. If an object class is marked as Obsolete, then it should not be referenced by any new elements created in the server.
  • Extended Flags - An optional set of Extended Flags for the object class.

Every entry must have exactly one STRUCTURAL object class, and it may have zero or more AUXILIARY classes. The complete set of object classes in an entry define the set of Attribute Types that are required or allowed to be present. The STRUCTURAL class may also be used to link the entry with a Name Form, DIT Content Rule, and/or DIT Structure Rule.

Reading ObjectClasses from the Schema#

The set of object classes defined in the server may be determined by retrieving the objectClasses attribute of the SubschemaSubentry. For more information about object classes, see the Understanding Object Classes document.

Object Class Inheritance#

As specified in the above description, object classes can have zero or more superior classes. If an object class references a superior class, then all of the required and optional attributes associated with that superior class are also associated with the subordinate class.

More Information#

There might be more information for this subject on one of the following: