directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From akaras...@apache.org
Subject svn commit: rev 6149 - in incubator/directory/ldap/trunk/eve/backend/schema: common/api/src/java/org/apache/eve/schema comparator/api
Date Tue, 13 Jan 2004 06:10:30 GMT
Author: akarasulu
Date: Mon Jan 12 22:10:29 2004
New Revision: 6149

Modified:
   incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/AttributeType.java
   incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/ContentRule.java
   incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/MatchingRule.java
   incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/MatchingRuleUse.java
   incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/NameForm.java
   incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/Normalizer.java
   incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/ObjectClass.java
   incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/StructureRule.java
   incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/Syntax.java
   incubator/directory/ldap/trunk/eve/backend/schema/comparator/api/   (props changed)
Log:
Added some snippets from the LDAP RFCs, IETF LDAPBIS Drafts, and X.501 for
the documentation.


Modified: incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/AttributeType.java
==============================================================================
--- incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/AttributeType.java
(original)
+++ incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/AttributeType.java
Mon Jan 12 22:10:29 2004
@@ -54,8 +54,103 @@
  * An attributeType specification.  attributeType specifications describe the
  * nature of attributes within the directory.  The attributeType specification's
  * properties are accessible through this interface.
+ *
+ * According to ldapbis [MODELS]:
+ * <pre>
+ * 4.1.2. Attribute Types
  * 
+ *   Attribute Type definitions are written according to the ABNF:
+ * 
+ *     AttributeTypeDescription = LPAREN WSP
+ *         numericoid                    ; object identifier
+ *         [ SP "NAME" SP qdescrs ]      ; short names (descriptors)
+ *         [ SP "DESC" SP qdstring ]     ; description
+ *         [ SP "OBSOLETE" ]             ; not active
+ *         [ SP "SUP" SP oid ]           ; supertype
+ *         [ SP "EQUALITY" SP oid ]      ; equality matching rule
+ *         [ SP "ORDERING" SP oid ]      ; ordering matching rule
+ *         [ SP "SUBSTR" SP oid ]        ; substrings matching rule
+ *         [ SP "SYNTAX" SP noidlen ]    ; value syntax
+ *         [ SP "SINGLE-VALUE" ]         ; single-value
+ *         [ SP "COLLECTIVE" ]           ; collective
+ *         [ SP "NO-USER-MODIFICATION" ] ; not user modifiable
+ *         [ SP "USAGE" SP usage ]       ; usage
+ *         extensions WSP RPAREN         ; extensions
+ * 
+ *     usage = "userApplications"     /  ; user
+ *             "directoryOperation"   /  ; directory operational
+ *             "distributedOperation" /  ; DSA-shared operational
+ *             "dSAOperation"            ; DSA-specific operational
+ * 
+ *   where:
+ *     [numericoid] is object identifier assigned to this attribute type;
+ *     NAME [qdescrs] are short names (descriptors) identifying this
+ *         attribute type;
+ *     DESC [qdstring] is a short descriptive string;
+ *     OBSOLETE indicates this attribute type is not active;
+ *     SUP oid specifies the direct supertype of this type;
+ *     EQUALITY, ORDERING, SUBSTRING provide the oid of the equality,
+ *         ordering, and substrings matching rules, respectively;
+ *     SYNTAX identifies value syntax by object identifier and may suggest
+ *         a minimum upper bound;
+ *     COLLECTIVE indicates this attribute type is collective [X.501];
+ *     NO-USER-MODIFICATION indicates this attribute type is not user
+ *         modifiable;
+ *     USAGE indicates the application of this attribute type; and
+ *     [extensions] describe extensions.
+ * 
+ *   Each attribute type description must contain at least one of the SUP
+ *   or SYNTAX fields.
+ * 
+ *   Usage of userApplications, the default, indicates that attributes of
+ *   this type represent user information.  That is, they are user
+ *   attributes.
+ * 
+ *   COLLECTIVE requires usage userApplications.  Use of collective
+ *   attribute types in LDAP is not discussed in this technical
+ *   specification.
+ * 
+ *   A usage of directoryOperation, distributedOperation, or dSAOperation
+ *   indicates that attributes of this type represent operational and/or
+ *   administrative information.  That is, they are operational attributes.
+ * 
+ *   directoryOperation usage indicates that the attribute of this type is
+ *   a directory operational attribute.  distributedOperation usage
+ *   indicates that the attribute of this DSA-shared usage operational
+ *   attribute.  dSAOperation usage indicates that the attribute of this
+ *   type is a DSA-specific operational attribute.
+ * 
+ *   NO-USER-MODIFICATION requires an operational usage.
+ * 
+ *   Note that the [AttributeTypeDescription] does not list the matching
+ *   rules which can be used with that attribute type in an extensibleMatch
+ *   search filter.  This is done using the 'matchingRuleUse' attribute
+ *   described in Section 4.1.4.
+ * 
+ *   This document refines the schema description of X.501 by requiring
+ *   that the SYNTAX field in an [AttributeTypeDescription] be a string
+ *   representation of an object identifier for the LDAP string syntax
+ *   definition with an optional indication of the suggested minimum bound
+ *   of a value of this attribute.
+ * 
+ *   A suggested minimum upper bound on the number of characters in a value
+ *   with a string-based syntax, or the number of bytes in a value for all
+ *   other syntaxes, may be indicated by appending this bound count inside
+ *   of curly braces following the syntax's OBJECT IDENTIFIER in an
+ * 
+ *   Attribute Type Description.  This bound is not part of the syntax name
+ *   itself.  For instance, "1.3.6.4.1.1466.0{64}" suggests that server
+ *   implementations should allow a string to be 64 characters long,
+ *   although they may allow longer strings.  Note that a single character
+ *   of the Directory String syntax may be encoded in more than one octet
+ *   since UTF-8 is a variable-length encoding.
+ *
+ * </pre>
+ *  
  * @see <a href="http://www.faqs.org/rfcs/rfc2252.html">RFC 2252 Section 4.2</a>
+ * @see <a href=
+ *     "http://www.ietf.org/internet-drafts/draft-ietf-ldapbis-models-09.txt">
+ *     ldapbis [MODELS]</a>
  * @see DescriptionUtils#getDescription(AttributeType)
  * @author <a href="mailto:akarasulu@apache.org">Alex Karasulu</a>
  * @author $Author$

Modified: incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/ContentRule.java
==============================================================================
--- incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/ContentRule.java
(original)
+++ incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/ContentRule.java
Mon Jan 12 22:10:29 2004
@@ -55,9 +55,82 @@
  * entries of a particular structural objectClass.  They specify the AUXILLARY 
  * objectClasses and additional attribute types permitted to appear, or excluded
  * from appearing in entries of the indicated STRUCTURAL objectClass. 
+ * 
+ * According to ldapbis [MODELS]:
+ * <pre>
+ * 4.1.6. DIT Content Rules
+ * 
+ *   A DIT content rule is a "rule governing the content of entries of a
+ *   particular structural object class" [X.501].
+ * 
+ *   For DIT entries of a particular structural object class, a DIT content
+ *   rule specifies which auxiliary object classes the entries are allowed
+ *   to belong to and which additional attributes (by type) are required,
+ *   allowed or not allowed to appear in the entries.
+ * 
+ *   The list of precluded attributes cannot include any attribute listed
+ *   as mandatory in rule, the structural object class, or any of the
+ *   allowed auxiliary object classes.
+ * 
+ *   Each content rule is identified by the object identifier, as well as
+ *   any short names (descriptors), of the structural object class it
+ *   applies to.
+ * 
+ *   An entry may only belong to auxiliary object classes listed in the
+ *   governing content rule.
+ * 
+ *   An entry must contain all attributes required by the object classes
+ *   the entry belongs to as well as all attributed required by the
+ *   governing content rule.
+ * 
+ *   An entry may contain any non-precluded attributes allowed by the
+ *   object classes the entry belongs to as well as all attributes allowed
+ *   by the governing content rule.
+ * 
+ *   An entry cannot include any attribute precluded by the governing
+ *   content rule.
+ * 
+ *   An entry is governed by (if present and active in the subschema) the
+ *   DIT content rule which applies to the structural object class of the
+ *   entry (see Section 2.4.2).  If no active rule is present for the
+ *   entry's structural object class, the entry's content is governed by
+ *   the structural object class (and possibly other aspects of user and
+ *   system schema).
  *
+ *   DIT content rule descriptions are written according to the ABNF:
+ *
+ *     DITContentRuleDescription = LPAREN WSP
+ *         numericoid                 ; object identifier
+ *         [ SP "NAME" SP qdescrs ]   ; short names (descriptors)
+ *         [ SP "DESC" SP qdstring ]  ; description
+ *         [ SP "OBSOLETE" ]          ; not active
+ *         [ SP "AUX" SP oids ]       ; auxiliary object classes
+ *         [ SP "MUST" SP oids ]      ; attribute types
+ *         [ SP "MAY" SP oids ]       ; attribute types
+ *         [ SP "NOT" SP oids ]       ; attribute types
+ *         extensions WSP RPAREN      ; extensions
+ *
+ *   where:
+ *
+ *     [numericoid] is the object identifier of the structural object class
+ *         associated with this DIT content rule;
+ *     NAME [qdescrs] are short names (descriptors) identifying this DIT
+ *         content rule;
+ *     DESC [qdstring] is a short descriptive string;
+ *     OBSOLETE indicates this DIT content rule use is not active;
+ *     AUX specifies a list of auxiliary object classes which entries
+ *         subject to this DIT content rule may belong to;
+ *     MUST, MAY, and NOT specify lists of attribute types which are
+ *         required, allowed, or precluded, respectively, from appearing in
+ *         entries subject to this DIT content rule; and
+ *     [extensions] describe extensions.
+ * </pre>
+ * 
  * @see <a href="http://www.faqs.org/rfcs/rfc2252.html">RFC 2252 Section 5.4.3
  * </a>
+ * @see <a href=
+ *     "http://www.ietf.org/internet-drafts/draft-ietf-ldapbis-models-09.txt">
+ *     ldapbis [MODELS]</a>
  * @see DescriptionUtils#getDescription(ContentRule)
  * @author <a href="mailto:akarasulu@apache.org">Alex Karasulu</a>
  * @author $Author$

Modified: incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/MatchingRule.java
==============================================================================
--- incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/MatchingRule.java
(original)
+++ incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/MatchingRule.java
Mon Jan 12 22:10:29 2004
@@ -57,9 +57,46 @@
  * A matchingRule definition.  MatchingRules associate a comparator and a 
  * normalizer, forming the basic tools necessary to assert actions against 
  * attribute values.  MatchingRules are associated with a specific Syntax 
- * for the purpose of resolving a normalized form and for comparisons.  
+ * for the purpose of resolving a normalized form and for comparisons. Here's
+ * what the ldapbis [MODELS] has to say about matchingRules:
+ * 
+ * 4.1.3. Matching Rules
+ * <pre>
+ *   Matching rules are used by servers to compare attribute values against
+ *   assertion values when performing Search and Compare operations.  They
+ *   are also used to identify the value to be added or deleted when
+ *   modifying entries, and are used when comparing a purported
+ *   distinguished name with the name of an entry.
+ * 
+ *   A matching rule specifies the syntax of the assertion value.
+ *
+ *   Each matching rule is identified by an object identifier (OID) and,
+ *   optionally, one or more short names (descriptors).
+ *
+ *   Matching rule definitions are written according to the ABNF:
+ *
+ *     MatchingRuleDescription = LPAREN WSP
+ *         numericoid                 ; object identifier
+ *         [ SP "NAME" SP qdescrs ]   ; short names (descriptors)
+ *         [ SP "DESC" SP qdstring ]  ; description
+ *         [ SP "OBSOLETE" ]          ; not active
+ *         SP "SYNTAX" SP numericoid  ; assertion syntax
+ *         extensions WSP RPAREN      ; extensions
+ *
+ *   where:
+ *     [numericoid] is object identifier assigned to this matching rule;
+ *     NAME [qdescrs] are short names (descriptors) identifying this
+ *         matching rule;
+ *     DESC [qdstring] is a short descriptive string;
+ *     OBSOLETE indicates this matching rule is not active;
+ *     SYNTAX identifies the assertion syntax by object identifier; and
+ *     [extensions] describe extensions.
+ * </pre>
  *
  * @see <a href="http://www.faqs.org/rfcs/rfc2252.html">RFC 2252 Section 4.5</a>
+ * @see <a href=
+ *     "http://www.ietf.org/internet-drafts/draft-ietf-ldapbis-models-09.txt">
+ *     ldapbis [MODELS]</a>
  * @see DescriptionUtils#getDescription(MatchingRule)
  * @author <a href="mailto:akarasulu@apache.org">Alex Karasulu</a>
  * @author $Author$

Modified: incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/MatchingRuleUse.java
==============================================================================
--- incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/MatchingRuleUse.java
(original)
+++ incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/MatchingRuleUse.java
Mon Jan 12 22:10:29 2004
@@ -58,13 +58,29 @@
  * <pre>
  * Values of the matchingRuleUse list the attributes which are suitable
  * for use with an extensible matching rule.
- *   MatchingRuleUseDescription = "(" whsp
- *       numericoid whsp  ; MatchingRule identifier
- *       [ "NAME" qdescrs ]
- *       [ "DESC" qdstring ]
- *       [ "OBSOLETE" ]
- *      "APPLIES" oids    ; AttributeType identifiers
- *   whsp ")"
+ * 
+ *   Matching rule use descriptions are written according to the following
+ *   ABNF:
+ *
+ *     MatchingRuleUseDescription = LPAREN WSP
+ *         numericoid                 ; object identifier
+ *         [ SP "NAME" SP qdescrs ]   ; short names (descriptors)
+ *         [ SP "DESC" SP qdstring ]  ; description
+ *         [ SP "OBSOLETE" ]          ; not active
+ *         SP "APPLIES" SP oids       ; attribute types
+ *         extensions WSP RPAREN      ; extensions
+ * 
+ *   where:
+ *     [numericoid] is the object identifier of the matching rule
+ *         associated with this matching rule use description;
+ *     NAME [qdescrs] are short names (descriptors) identifying this
+ *         matching rule use;
+ *     DESC [qdstring] is a short descriptive string;
+ *     OBSOLETE indicates this matching rule use is not active;
+ *     APPLIES provides a list of attribute types the matching rule applies
+ *         to; and
+ *     [extensions] describe extensions.
+ *
  * </pre>
  * 
  * The matchingRule within the MatchingRuleUse definition can be used by an
@@ -79,8 +95,14 @@
  * attribute types to which a matching rule may be applied in an
  * extensibleMatch search filter [PROT].  The LDAP-specific encoding of
  * a value of this syntax is defined by the <MatchingRuleUseDescription>
- * rule in [MODELS].
+ * rule in [MODELS] above.
  * 
+ * @see <a href=
+ *     "http://www.ietf.org/internet-drafts/draft-ietf-ldapbis-models-09.txt">
+ *     ldapbis [MODELS]</a>
+ * @see <a href=
+ *     "http://www.ietf.org/internet-drafts/draft-ietf-ldapbis-syntaxes-07.txt">
+ *     ldapbis [SYNTAXES]</a>
  * @author <a href="mailto:akarasulu@apache.org">Alex Karasulu</a>
  * @author $Author$
  * @version $Rev$

Modified: incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/NameForm.java
==============================================================================
--- incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/NameForm.java
(original)
+++ incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/NameForm.java
Mon Jan 12 22:10:29 2004
@@ -54,9 +54,61 @@
  * 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.
+ * can be used for the RDN.  The following refinement from ldapbis [MODELS]
+ * clearly defines a nameForm as well as its syntax:
+ * 
+ * <pre>
+ * 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.
+ * </pre>
  *
  * @see <a href="http://www.faqs.org/rfcs/rfc2252.html">RFC2252 Section 6.22</a>
+ * @see <a href=
+ *     "http://www.ietf.org/internet-drafts/draft-ietf-ldapbis-models-09.txt">
+ *     ldapbis [MODELS]</a>
  * @see DescriptionUtils#getDescription(NameForm)
  * @author <a href="mailto:akarasulu@apache.org">Alex Karasulu</a>
  * @author $Author$

Modified: incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/Normalizer.java
==============================================================================
--- incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/Normalizer.java
(original)
+++ incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/Normalizer.java
Mon Jan 12 22:10:29 2004
@@ -63,14 +63,14 @@
 public interface Normalizer
 {
     /**
-     * Gets the equality match OID associated with this normalizer.
+     * Gets the matching rule OID associated with this normalizer.
      *
-     * @return the OID for the equality match used
+     * @return the OID for the matching rule
      */
     String getMatchingRule() ;
     
     /**
-     * Gets the normalizer associated with the equality matching rule.
+     * Gets the normalized value.
      *
      * @param a_value the value to normalize
      * @return the normalized form for a_value

Modified: incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/ObjectClass.java
==============================================================================
--- incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/ObjectClass.java
(original)
+++ incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/ObjectClass.java
Mon Jan 12 22:10:29 2004
@@ -51,9 +51,41 @@
 
 
 /**
- * An objectClass definition.
+ * An objectClass definition.  
  *
+ * Object Class definitions are written according to the ABNF:
+ * <pre>
+ *   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.
+ *
+ * </pre>
  * @see <a href="http://www.faqs.org/rfcs/rfc2252.html">RFC2252 Section 4.4</a>
+ * @see <a href=
+ *     "http://www.ietf.org/internet-drafts/draft-ietf-ldapbis-models-09.txt">
+ *     ldapbis [MODELS]</a>
  * @see DescriptionUtils#getDescription(ObjectClass)
  * @author <a href="mailto:akarasulu@apache.org">Alex Karasulu</a>
  * @author $Author$

Modified: incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/StructureRule.java
==============================================================================
--- incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/StructureRule.java
(original)
+++ incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/StructureRule.java
Mon Jan 12 22:10:29 2004
@@ -51,15 +51,51 @@
 
 
 /**
- * A dITStructureRule definition.  dITStructureRules are rules governing the 
+ * A dITStructureRule definition.  A dITStructureRules is a rule governing the 
  * structure of the DIT by specifying a permitted superior to subordinate entry 
  * relationship.  A structure rule relates a nameForm, and therefore a 
  * STRUCTURAL objectClass, to superior dITStructureRules.  This permits entries 
  * of the STRUCTURAL objectClass identified by the nameForm to exist in the DIT 
  * as subordinates to entries governed by the indicated superior 
- * dITStructureRules.
+ * dITStructureRules.  Hence dITStructureRules only apply to structural object
+ * classes.
+ * 
+ * DIT structure rule descriptions are written according to the ABNF:
+ * <pre>
+ *   DITStructureRuleDescription = LPAREN WSP
+ *       ruleid                     ; rule identifier
+ *       [ SP "NAME" SP qdescrs ]   ; short names (descriptors)
+ *       [ SP "DESC" SP qdstring ]  ; description
+ *       [ SP "OBSOLETE" ]          ; not active
+ *       SP "FORM" SP oid           ; NameForm
+ *       [ SP "SUP" ruleids ]       ; superior rules
+ *       extensions WSP RPAREN      ; extensions
  *
+ *   ruleids = ruleid / ( LPAREN WSP ruleidlist WSP RPAREN )
+ *
+ *   ruleidlist = ruleid *( SP ruleid )
+ *
+ *   ruleid = number
+ *
+ * where:
+ *   [ruleid] is the rule identifier of this DIT structure rule;
+ *   NAME [qdescrs] are short names (descriptors) identifying this DIT
+ *       structure rule;
+ *   DESC [qdstring] is a short descriptive string;
+ *   OBSOLETE indicates this DIT structure rule use is not active;
+ *   FORM is specifies the name form associated with this DIT structure
+ *       rule;
+ *   SUP identifies superior rules (by rule id); and
+ *   [extensions] describe extensions.
+ * 
+ * If no superior rules are identified, the DIT structure rule applies
+ * to an autonomous administrative point (e.g. the root vertex of the
+ * subtree controlled by the subschema) [X.501].
+ * </pre>
  * @see <a href="http://www.faqs.org/rfcs/rfc2252.html">RFC2252 Section 6.33</a>
+ * @see <a href=
+ *     "http://www.ietf.org/internet-drafts/draft-ietf-ldapbis-models-09.txt">
+ *     ldapbis [MODELS]</a>
  * @see DescriptionUtils#getDescription(StructureRule)
  * @author <a href="mailto:akarasulu@apache.org">Alex Karasulu</a>
  * @author $Author$
@@ -96,10 +132,10 @@
     boolean isObsolete() ;
 
     /**
-     * Gets the OID of the objectClass this ContentRule specifies
-     * attributes for..
+     * The nameForm associating this ditStructureRule with a structural 
+     * objectClass.
      *
-     * @return the OID of this stucture rule NameForm
+     * @return the nameForm for the structural objectClass
      */
     NameForm getNameForm() ;
 

Modified: incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/Syntax.java
==============================================================================
--- incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/Syntax.java
(original)
+++ incubator/directory/ldap/trunk/eve/backend/schema/common/api/src/java/org/apache/eve/schema/Syntax.java
Mon Jan 12 22:10:29 2004
@@ -58,6 +58,28 @@
  * in LDAP operations.  This representation is referred to as the LDAP-specific 
  * encoding to distinguish it from other methods of encoding attribute values.
  * 
+ * 4.1.5. LDAP Syntaxes
+ * <pre>
+ *   LDAP Syntaxes of (attribute and assertion) values are described in
+ *   terms of ASN.1 [X.680] and, optionally, have an octet string encoding
+ *   known as the LDAP-specific encoding.  Commonly, the LDAP-specific
+ *   encoding is constrained to string of Universal Character Set (UCS)
+ *   [ISO10646] characters in UTF-8 [UTF-8] form.
+ *
+ *   Each LDAP syntax is identified by an object identifier (OID).
+ *
+ *   LDAP syntax definitions are written according to the ABNF:
+ *
+ *     SyntaxDescription = LPAREN WSP
+ *         numericoid                 ; object identifier
+ *         [ SP "DESC" SP qdstring ]  ; description
+ *         extensions WSP RPAREN      ; extensions
+ *
+ *   where:
+ *     [numericoid] is object identifier assigned to this LDAP syntax;
+ *     DESC [qdstring] is a short descriptive string; and
+ *     [extensions] describe extensions.
+ * </pre>
  * @see <a href="http://www.faqs.org/rfcs/rfc2252.html">RFC2252 Section 4.3.3
  * </a>
  * @see DescriptionUtils#getDescription(Syntax)

Mime
View raw message