4.2.1.2 - ObjectClasses

The ObjectClass represents the list of mandatory and optional AttributeTypes

Here is the description as found in RFC 4512 :

 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"

Each ObjectClass as a type (ABSTRACT, STRUCTURAL or AUXILIARY) and may inherit from another ObjectClass

The important part of the ObjectClass is the AttributeType definition : not only does it list all of the AttributeTypes defined in the list itself, but it also contains the inherited attribute types. Note that you may have an optional AttributeType defined in a parent, which is made mandatory.

The available methods are :

  • getMayAttributeTypeOids() : gets the list of optional AttributeTypes (proper and inherited)
  • getMayAttributeTypes() : gets the list of optional AttributeTypes’ OID(proper and inherited)
  • getMustAttributeTypeOids() : gets the list of mandatory AttributeTypes’ OID (proper and inherited)
  • getMustAttributeTypes() : gets the list of mandatory AttributeTypes (proper and inherited)
  • getSuperiorOids() : gets the list of inherited ObjectClasses’ OIDs (the full hierarchy)
  • getSuperiors() : gets the list of inherited ObjectClasses (the full hierarchy)
  • getType() : returns the ObjectClass type (one of ABSTRACT, AUXILIARY or STRUCTURAL)
  • isAbstract() : tells if the *ObjectClass is ABSTRACT.
  • isAuxiliary() : tells if the *ObjectClass is AUXILIARY.
  • isStructural() : tells if the *ObjectClass is STRUCTURAL.