| 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 |
| Notice: Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| . |
| http://www.apache.org/licenses/LICENSE-2.0 |
| . |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| # 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. |