blob: 1d08f96fd7d5b2fe6edab676434aea88ed271dab [file] [log] [blame]
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.