blob: cbcad009d468bb4bf63253c01758b7e37dfdcff9 [file] [view]
---
title: 4.2.1.2 - ObjectClasses
navPrev: 4.2.1.1-attribute-types.html
navPrevText: 4.2.1.1 - AttributeTypes
navUp: 4.2.1-schema-objects.html
navUpText: 4.2.1 - Schema Objects
navNext: 4.2.1.3-syntaxes.html
navNextText: 4.2.1.3 - Syntaxes
---
# 4.2.1.2 - ObjectClasses
The **ObjectClass** represents the list of mandatory and optional **AttributeType**s
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 **AttributeType**s (proper and inherited)
* getMayAttributeTypes() : gets the list of optional **AttributeType**s' OID(proper and inherited)
* getMustAttributeTypeOids() : gets the list of mandatory **AttributeType**s' OID (proper and inherited)
* getMustAttributeTypes() : gets the list of mandatory **AttributeType**s (proper and inherited)
* getSuperiorOids() : gets the list of inherited **ObjectClass**es' OIDs (the full hierarchy)
* getSuperiors() : gets the list of inherited **ObjectClass**es (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.