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

All Superinterfaces:
SchemaObject

public interface NameForm
extends SchemaObject

A nameForm description. NameForms define the relationship between a STRUCTURAL objectClass definition and the attributeTypes allowed to be used for the naming of an Entry of that objectClass: it defines which attributes can be used for the RDN.

According to ldapbis [MODELS]:

  4.1.7.2. Name Forms
  
   A name form "specifies a permissible RDN for entries of a particular
   structural object class.  A name form identifies a named object
   class and one or more attribute types to be used for naming (i.e.
   for the RDN).  Name forms are primitive pieces of specification
   used in the definition of DIT structure rules" [X.501].
 
   Each name form indicates the structural object class to be named,
   a set of required attribute types, and a set of allowed attributes
   types.  A particular attribute type cannot be listed in both sets.
 
   Entries governed by the form must be named using a value from each
   required attribute type and zero or more values from the allowed
   attribute types.
 
   Each name form is identified by an object identifier (OID) and,
   optionally, one or more short names (descriptors).
 
   Name form descriptions are written according to the ABNF:
 
     NameFormDescription = LPAREN WSP
         numericoid                ; object identifier
         [ SP "NAME" SP qdescrs ]  ; short names (descriptors)
         [ SP "DESC" SP qdstring ] ; description
         [ SP "OBSOLETE" ]         ; not active
         SP "OC" SP oid            ; structural object class
         SP "MUST" SP oids         ; attribute types
         [ SP "MAY" SP oids ]      ; attribute types
         extensions WSP RPAREN     ; extensions
 
   where:
 
     [numericoid] is object identifier which identifies this name form;
     NAME [qdescrs] are short names (descriptors) identifying this name
         form;
     DESC [qdstring] is a short descriptive string;
     OBSOLETE indicates this name form is not active;
     OC identifies the structural object class this rule applies to,
     MUST and MAY specify the sets of required and allowed, respectively,
         naming attributes for this name form; and
     [extensions] describe extensions.
 
   All attribute types in the required ("MUST") and allowed ("MAY") lists
   shall be different.
 

Version:
$Rev: 379008 $
Author:
Apache Directory Project
See Also:
RFC2252 Section 6.22, ldapbis [MODELS], DescriptionUtils.getDescription(NameForm)

Method Summary
 AttributeType[] getMaytUse()
          Gets all the AttributeTypes of the attribute this NameForm specifies as being useable without requirement in the given objectClass for naming: as part of the Rdn.
 AttributeType[] getMustUse()
          Gets all the AttributeTypes of the attributes this NameForm specifies as having to be used in the given objectClass for naming: as part of the Rdn.
 ObjectClass getObjectClass()
          Gets the STRUCTURAL ObjectClass this name form specifies naming attributes for.
 
Methods inherited from interface org.apache.directory.shared.ldap.schema.SchemaObject
getDescription, getName, getNames, getOid, isObsolete
 

Method Detail

getObjectClass

public ObjectClass getObjectClass()
                           throws javax.naming.NamingException
Gets the STRUCTURAL ObjectClass this name form specifies naming attributes for.

Returns:
the ObjectClass this NameForm is for
Throws:
javax.naming.NamingException - if there is a failure resolving the object

getMustUse

public AttributeType[] getMustUse()
                           throws javax.naming.NamingException
Gets all the AttributeTypes of the attributes this NameForm specifies as having to be used in the given objectClass for naming: as part of the Rdn.

Returns:
the AttributeTypes of the must use attributes
Throws:
javax.naming.NamingException - if there is a failure resolving the object

getMaytUse

public AttributeType[] getMaytUse()
                           throws javax.naming.NamingException
Gets all the AttributeTypes of the attribute this NameForm specifies as being useable without requirement in the given objectClass for naming: as part of the Rdn.

Returns:
the AttributeTypes of the may use attributes
Throws:
javax.naming.NamingException - if there is a failure resolving the object


Copyright © 2003-2006 . All Rights Reserved.