You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2003/12/14 18:09:16 UTC

svn commit: rev 1420 - in incubator/directory/ldap/trunk/eve/backend/schema/api: . src/java/org/apache/eve/schema

Author: akarasulu
Date: Sun Dec 14 09:09:15 2003
New Revision: 1420

Added:
   incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/DescriptionUtils.java
   incubator/directory/ldap/trunk/eve/backend/schema/api/todo
Modified:
   incubator/directory/ldap/trunk/eve/backend/schema/api/project.properties
   incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/AttributeType.java
   incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/ContentRule.java
   incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/overview.html
   incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/package.html
Log:
filling documentation in

Modified: incubator/directory/ldap/trunk/eve/backend/schema/api/project.properties
==============================================================================
--- incubator/directory/ldap/trunk/eve/backend/schema/api/project.properties	(original)
+++ incubator/directory/ldap/trunk/eve/backend/schema/api/project.properties	Sun Dec 14 09:09:15 2003
@@ -1,3 +1,4 @@
+maven.javadoc.private=true
 maven.javadoc.overview=src/java/org/apache/eve/schema/overview.html
 maven.javadoc.customtags=tag1 tag2
 

Modified: incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/AttributeType.java
==============================================================================
--- incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/AttributeType.java	(original)
+++ incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/AttributeType.java	Sun Dec 14 09:09:15 2003
@@ -50,14 +50,18 @@
 package org.apache.eve.schema ;
 
 
-import java.util.ArrayList ;
-import java.util.Collection ;
-import java.util.Comparator ;
+import java.util.List ;
 
 
 /**
- * AttributeType definition interface.
+ * AttributeType definition interface.  The attributes held in a directory, 
+ * must belong to an entry.  These attributes have representations for 
+ * assigning encoding rules (syntax), and thus associated rules for comparison 
+ * and matching.  The schema services provide for the resolution of a value to 
+ * it's normalization methods, comparison methods and encoding rules through 
+ * the attributeType specification.
  * 
+ * @see <a href="http://www.faqs.org/rfcs/rfc2252.html">RFC 2252 Section 4.2</a>
  * @author <a href="mailto:akarasulu@apache.org">Alex Karasulu</a>
  * @author $LastChangedBy$
  * @version $LastChangedRevision$
@@ -83,7 +87,7 @@
 	 *
 	 * @return a Collection of String names for this AttributeType
 	 */
-	Collection getAllNames() ;
+	List getAllNames() ;
 
 	/**
 	 * Gets a description for this AttributeType.
@@ -93,13 +97,6 @@
 	String getDescription() ;
 
 	/**
-	 * Gets the OID of the Syntax specified for this AttributeType.
-	 *
-	 * @return the OID of the Syntax 
-	 */
-	String getSyntaxOid() ;
-
-	/**
 	 * Gets whether or not this AttributeType is single-valued.
 	 *
 	 * @return true if only one value can exist for this AttributeType, false
@@ -115,138 +112,65 @@
 	boolean isCanUserModify() ;
 
 	/**
-	 * Determines the usage for this AttributeType.
-	 *
-	 * @return a type safe UsageEnum
-	 */
-	UsageEnum getUsage() ;
-
-	/**
-	 * Gets the name of the superior class for this AttributeType.
-	 *
-	 * @return the super class for this AttributeType 
-	 */
-	String getSuperior() ;
-
-	/**
-	 * Returns the OID of this attribute.
+	 * Gets whether or not this AttributeType is a collective attribute.
 	 * 
-	 * @see java.lang.Object#toString()
-	 */
-	String toString() ;
-
-	/**
-	 * Gets whether or not this AttributeType is binary.
-	 * 
-	 * @return true if this AttributeType is binary.
+	 * @return true if the attribute is collective, false otherwise
 	 */
-	boolean isBinary() ;
-
+	boolean isCollective() ;
+    
 	/**
-	 * Gets whether or not this AttributeType is an integer type.
+	 * Gets whether or not this AttributeType is obsolete.
 	 *
-	 * @return true if this AttributeType is an integer type
+	 * @return true if obsolete, false if not.
 	 */
-	boolean isInteger() ;
+	boolean isObsolete() ;
 
 	/**
-	 * Gets whether or not this AttributeType is a String type.
+	 * Determines the usage for this AttributeType.
 	 *
-	 * @return true if this AttributeType is a String type
+	 * @return a type safe UsageEnum
 	 */
-	boolean isString() ;
+	UsageEnum getUsage() ;
 
 	/**
-	 * Gets the normalizer
+	 * Gets the name of the superior class for this AttributeType.
 	 *
-	 * @return TODO
+	 * @return the super class for this AttributeType 
 	 */
-	Normalizer getNormalizer() ;
+	AttributeType getSuperior() ;
 
 	/**
-	 * TODO Document me!
+	 * The Syntax for this AttributeType's values.
 	 *
-	 * @return the sytax checker
+	 * @return the value syntax
 	 */
-	SyntaxChecker getSyntaxChecker() ;
+	Syntax getSyntax() ;
 
 	/**
+	 * Gets a length limit for this AttributeType.
 	 * 
-	 * TODO Document me!
-	 *
-	 * @return TODO
-	 */
-	Comparator getComparator() ;
-
-	/**
-	 * TODO Document me!
-	 *
-	 * @return TODO
-	 */
-	ArrayList getChildren() ;
-
-	/**
-	 * TODO Document me!
-	 *
-	 * @return TODO
+	 * @return the length of the attribute
 	 */
-	String getDesc() ;
+	int getLength() ;
 
 	/**
-	 * TODO Document me!
+	 * Gets the MatchingRule for this AttributeType used for equality matching.
 	 *
-	 * @return TODO
+	 * @return the equality matching rule
 	 */
 	MatchingRule getEquality() ;
 
 	/**
-	 * TODO Document me!
+	 * Gets the MatchingRule for this AttributeType used for ordering.
 	 *
-	 * @return TODO
-	 */
-	ArrayList getNameList() ;
-
-	/**
-	 * TODO Document me!
-	 *
-	 * @return TODO
+	 * @return the ordering matching rule
 	 */
 	MatchingRule getOrdering() ;
 
 	/**
-	 * TODO Document me!
+	 * Gets the MatchingRule for this AttributeType used for substring matching.
 	 *
-	 * @return TODO
+	 * @return the substring matching rule
 	 */
 	MatchingRule getSubstr() ;
-
-	/**
-	 * TODO Document me!
-	 *
-	 * @return TODO
-	 */
-	Syntax getSyntax() ;
-
-	/**
-	 * TODO Document me!
-	 * 
-	 * @return the length of the attribute
-	 */
-	int getLength() ;
-
-	/**
-	 * TODO Document me!
-	 * 
-	 * @return true if the attribute is collective, false otherwise
-	 */
-	boolean isCollective() ;
-    
-    
-	/**
-	 * Generates the description using the AttributeTypeDescription syntax.
-	 * 
-	 * @return this AttributeType instances specification in the 
-	 * AttributeTypeDescription Syntax.
-	 */
-	String getAttributeTypeDescription() ;
-}
\ No newline at end of file
+}

Modified: incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/ContentRule.java
==============================================================================
--- incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/ContentRule.java	(original)
+++ incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/ContentRule.java	Sun Dec 14 09:09:15 2003
@@ -53,9 +53,9 @@
 /**
  * An LDAP and X.500 DIT ContentRule definition interface.
  *
- * @author <a href="mailto:aok123@bellsouth.net">Alex Karasulu</a>
- * @author $Author$
- * @version $Revision$
+ * @author <a href="mailto:akarasulu@apache.org">Alex Karasulu</a>
+ * @author $LastChangedBy$
+ * @version $LastChangedRevision$
  */
 public interface ContentRule
 {

Added: incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/DescriptionUtils.java
==============================================================================
--- (empty file)
+++ incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/DescriptionUtils.java	Sun Dec 14 09:09:15 2003
@@ -0,0 +1,94 @@
+/*
+
+ ============================================================================
+                   The Apache Software License, Version 1.1
+ ============================================================================
+
+ Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without modifica-
+ tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of  source code must  retain the above copyright  notice,
+    this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+    this list of conditions and the following disclaimer in the documentation
+    and/or other materials provided with the distribution.
+
+ 3. The end-user documentation included with the redistribution, if any, must
+    include  the following  acknowledgment:  "This product includes  software
+    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
+    Alternately, this  acknowledgment may  appear in the software itself,  if
+    and wherever such third-party acknowledgments normally appear.
+
+ 4. The names "Eve Directory Server", "Apache Directory Project", "Apache Eve" 
+    and "Apache Software Foundation"  must not be used to endorse or promote
+    products derived  from this  software without  prior written
+    permission. For written permission, please contact apache@apache.org.
+
+ 5. Products  derived from this software may not  be called "Apache", nor may
+    "Apache" appear  in their name,  without prior written permission  of the
+    Apache Software Foundation.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
+ APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
+ DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
+ ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
+ (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ This software  consists of voluntary contributions made  by many individuals
+ on  behalf of the Apache Software  Foundation. For more  information on the
+ Apache Software Foundation, please see <http://www.apache.org/>.
+
+*/
+package org.apache.eve.schema ;
+
+
+import org.apache.commons.lang.NotImplementedException ;
+
+
+/**
+ * Utility used to generate descriptions
+ *
+ * @author <a href="mailto:akarasulu@apache.org">Alex Karasulu</a>
+ * @author $LastChangedBy$
+ * @version $LastChangedRevision$
+ */
+public class DescriptionUtils
+{
+	/**
+	 * Generates the description using the AttributeTypeDescription syntax. 
+	 * See syntax below:
+	 * <pre>
+	 * AttributeTypeDescription = "(" whsp
+	 *    numericoid whsp                 ; AttributeType identifier
+	 *    [ "NAME" qdescrs ]              ; name used in AttributeType
+	 *    [ "DESC" qdstring ]             ; description
+	 *    [ "OBSOLETE" whsp ]
+	 *    [ "SUP" woid ]                  ; derived from parent AttributeType
+	 *    [ "EQUALITY" woid               ; Matching Rule name
+	 *    [ "ORDERING" woid               ; Matching Rule name
+	 *    [ "SUBSTR" woid ]               ; Matching Rule name
+	 *    [ "SYNTAX" whsp noidlen whsp ]  ; see section 4.3 RFC 2252
+	 *    [ "SINGLE-VALUE" whsp ]         ; default multi-valued
+	 *    [ "COLLECTIVE" whsp ]           ; default not collective
+	 *    [ "NO-USER-MODIFICATION" whsp ] ; default user modifiable
+	 *    [ "USAGE" whsp AttributeUsage ] ; default userApplications
+	 *    whsp ")"
+	 * </pre>
+     * @param a_type the attributeType to generate a description for
+     * @return the AttributeTypeDescription Syntax for the attributeType in a
+     * pretty formated string
+     * @todo Implement me!
+     */
+    public String getDescription( AttributeType a_type ) 
+    {
+        throw new NotImplementedException( "AttributeTypeDescription Syntax" ) ;
+    }
+}

Modified: incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/overview.html
==============================================================================
--- incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/overview.html	(original)
+++ incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/overview.html	Sun Dec 14 09:09:15 2003
@@ -10,12 +10,6 @@
 	<META NAME="CHANGED" CONTENT="20031214;9310627">
 </HEAD>
 <BODY LANG="en-US" DIR="LTR">
-<P>
-<a href="mailto:akarasulu@apache.org">Alex Karasulu</a>
-$LastChangedBy$
-$LastChangedRevision$
-<BR><BR>
-</P>
 <P>LDAP and X.500 directories contain schema information.</P>
 </BODY>
 </HTML>

Modified: incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/package.html
==============================================================================
--- incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/package.html	(original)
+++ incubator/directory/ldap/trunk/eve/backend/schema/api/src/java/org/apache/eve/schema/package.html	Sun Dec 14 09:09:15 2003
@@ -11,11 +11,7 @@
 </HEAD>
 <BODY LANG="en-US" DIR="LTR">
 <P>
-<a href="mailto:akarasulu@apache.org">Alex Karasulu</a>
-$LastChangedBy$
-$LastChangedRevision$
-</P>
-<P>Schema objects used by the Eve directory server. 
+Schema objects used by the Eve directory server. 
 </P>
 </BODY>
 </HTML>

Added: incubator/directory/ldap/trunk/eve/backend/schema/api/todo
==============================================================================
--- (empty file)
+++ incubator/directory/ldap/trunk/eve/backend/schema/api/todo	Sun Dec 14 09:09:15 2003
@@ -0,0 +1,3 @@
+* Start dadding good documentation on the schema objects
+* Add some utility functionality
+* Standardaize names and javadocs