org.apache.directory.shared.ldap.schema
Interface ObjectClass

All Superinterfaces:
SchemaObject, java.io.Serializable
All Known Implementing Classes:
DefaultObjectClass

public interface ObjectClass
extends SchemaObject

An objectClass definition.

According to ldapbis [MODELS]:

  Object Class definitions are written according to the ABNF:
  
    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"
 
   where:
     [numericoid] is object identifier assigned to this object class;
     NAME [qdescrs] are short names (descriptors) identifying this object
         class;
     DESC [qdstring] is a short descriptive string;
     OBSOLETE indicates this object class is not active;
     SUP [oids] specifies the direct superclasses of this object class;
     the kind of object class is indicated by one of ABSTRACT,
         STRUCTURAL, or AUXILIARY, default is STRUCTURAL;
     MUST and MAY specify the sets of required and allowed attribute
         types, respectively; and
    [extensions] describe extensions.
 

Version:
$Rev: 568072 $
Author:
Apache Directory Project
See Also:
RFC2252 Section 4.4, ldapbis [MODELS], DescriptionUtils.getDescription(ObjectClass)

Method Summary
 AttributeType[] getMayList()
          Gets the AttributeTypes whose attributes may be present within an entry of this ObjectClass.
 AttributeType[] getMustList()
          Gets the AttributeTypes whose attributes must be present within an entry of this ObjectClass.
 ObjectClass[] getSuperClasses()
          Gets the superclasses of this ObjectClass.
 ObjectClassTypeEnum getType()
          Gets the type of this ObjectClass as a type safe enum.
 boolean isAbstract()
          Tells if the current ObjectClass is ABSTRACT
 boolean isAuxiliary()
          Tells if the current ObjectClass is AUXILIARY
 boolean isStructural()
          Tells if the current ObjectClass is STRUCTURAL
 
Methods inherited from interface org.apache.directory.shared.ldap.schema.SchemaObject
getDescription, getName, getNamesRef, getOid, getSchema, isObsolete, setSchema
 

Method Detail

getSuperClasses

ObjectClass[] getSuperClasses()
                              throws javax.naming.NamingException
Gets the superclasses of this ObjectClass.

Returns:
the superclasses
Throws:
javax.naming.NamingException - if there is a failure resolving the object

getType

ObjectClassTypeEnum getType()
Gets the type of this ObjectClass as a type safe enum.

Returns:
the ObjectClass type as an enum

isStructural

boolean isStructural()
Tells if the current ObjectClass is STRUCTURAL

Returns:
true if the ObjectClass is STRUCTURAL

isAbstract

boolean isAbstract()
Tells if the current ObjectClass is ABSTRACT

Returns:
true if the ObjectClass is ABSTRACT

isAuxiliary

boolean isAuxiliary()
Tells if the current ObjectClass is AUXILIARY

Returns:
true if the ObjectClass is AUXILIARY

getMustList

AttributeType[] getMustList()
                            throws javax.naming.NamingException
Gets the AttributeTypes whose attributes must be present within an entry of this ObjectClass.

Returns:
the AttributeTypes of attributes that must be within entries of this ObjectClass
Throws:
javax.naming.NamingException - if there is a failure resolving the object

getMayList

AttributeType[] getMayList()
                           throws javax.naming.NamingException
Gets the AttributeTypes whose attributes may be present within an entry of this ObjectClass.

Returns:
the AttributeTypes of attributes that may be within entries of this ObjectClass
Throws:
javax.naming.NamingException - if there is a failure resolving the object


Copyright © 2003-2011 Apache Software Foundation. All Rights Reserved.