Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 85552 invoked from network); 13 Aug 2006 22:42:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 13 Aug 2006 22:42:47 -0000 Received: (qmail 58632 invoked by uid 500); 13 Aug 2006 22:42:47 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 58608 invoked by uid 500); 13 Aug 2006 22:42:47 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 58593 invoked by uid 99); 13 Aug 2006 22:42:47 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 13 Aug 2006 15:42:47 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [140.211.166.113] (HELO eris.apache.org) (140.211.166.113) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 13 Aug 2006 15:42:46 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 7FA4E1A981C; Sun, 13 Aug 2006 15:42:26 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r431262 - in /directory/sandbox/akarasulu/apacheds-2.0/schema/descriptions/src/main/java/org/apache/directory/server2/schema/descriptions: DITContentRule.java DITStructureRule.java NameForm.java Date: Sun, 13 Aug 2006 22:42:25 -0000 To: commits@directory.apache.org From: akarasulu@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20060813224226.7FA4E1A981C@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: akarasulu Date: Sun Aug 13 15:42:25 2006 New Revision: 431262 URL: http://svn.apache.org/viewvc?rev=431262&view=rev Log: adding NameForms, dITContentRules, and dITStructureRules classes Added: directory/sandbox/akarasulu/apacheds-2.0/schema/descriptions/src/main/java/org/apache/directory/server2/schema/descriptions/DITContentRule.java directory/sandbox/akarasulu/apacheds-2.0/schema/descriptions/src/main/java/org/apache/directory/server2/schema/descriptions/DITStructureRule.java directory/sandbox/akarasulu/apacheds-2.0/schema/descriptions/src/main/java/org/apache/directory/server2/schema/descriptions/NameForm.java Added: directory/sandbox/akarasulu/apacheds-2.0/schema/descriptions/src/main/java/org/apache/directory/server2/schema/descriptions/DITContentRule.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/apacheds-2.0/schema/descriptions/src/main/java/org/apache/directory/server2/schema/descriptions/DITContentRule.java?rev=431262&view=auto ============================================================================== --- directory/sandbox/akarasulu/apacheds-2.0/schema/descriptions/src/main/java/org/apache/directory/server2/schema/descriptions/DITContentRule.java (added) +++ directory/sandbox/akarasulu/apacheds-2.0/schema/descriptions/src/main/java/org/apache/directory/server2/schema/descriptions/DITContentRule.java Sun Aug 13 15:42:25 2006 @@ -0,0 +1,93 @@ +/* + * Copyright 2006 The Apache Software Foundation + * + * Licensed 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. + * + */ +package org.apache.directory.server2.schema.descriptions; + + +import java.util.List; + +import javax.naming.NamingException; + + +/** + * A ditContentRule specification. ditContentRules identify the content of + * entries of a particular structural objectClass. They specify the AUXILIARY + * objectClasses and additional attribute types permitted to appear, or excluded + * from appearing in entries of the indicated STRUCTURAL objectClass. + *

+ * According to section 4.1.6 of RFC 4512: + *

+ * + *
+ *  4.1.6. DIT Content Rules
+ *  
+ * 
+ * + * @see RFC 4512 + * @author Apache Directory Project + * @version $Rev$ + */ +public interface DITContentRule extends OidObject +{ + /** + * Gets the STRUCTURAL ObjectClass this DITContentRule specifies attributes + * for. + * + * @return the ObjectClass this DITContentRule specifies attributes for + * @throws NamingException if there is a failure resolving the object + */ + ObjectClass getObjectClass() throws NamingException; + + + /** + * Gets all the AUXILIARY ObjectClasses this DITContentRule specifies for + * the given STRUCTURAL objectClass. + * + * @return the extra AUXILIARY ObjectClasses + * @throws NamingException if there is a failure resolving the object + */ + List getAuxObjectClasses() throws NamingException; + + + /** + * Gets all the AttributeTypes of the "must" attribute names this + * DITContentRule specifies for the given STRUCTURAL objectClass. + * + * @return the AttributeTypes of attributes that must be included in entries + * @throws NamingException if there is a failure resolving the object + */ + List getMustNames() throws NamingException; + + + /** + * Gets all the AttributeTypes of the "may" attribute names this + * DITContentRule specifies for the given STRUCTURAL objectClass. + * + * @return the AttributeTypes of attributes that may be included in entries + * @throws NamingException if there is a failure resolving the object + */ + List getMayNames() throws NamingException; + + + /** + * Gets all the AttributeTypes of the "not" attribute names this + * DITContentRule specifies for the given STRUCTURAL objectClass. + * + * @return the AttributeTypes of attributes that are excluded in entries + * @throws NamingException if there is a failure resolving the object + */ + List getNotNames() throws NamingException; +} Added: directory/sandbox/akarasulu/apacheds-2.0/schema/descriptions/src/main/java/org/apache/directory/server2/schema/descriptions/DITStructureRule.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/apacheds-2.0/schema/descriptions/src/main/java/org/apache/directory/server2/schema/descriptions/DITStructureRule.java?rev=431262&view=auto ============================================================================== --- directory/sandbox/akarasulu/apacheds-2.0/schema/descriptions/src/main/java/org/apache/directory/server2/schema/descriptions/DITStructureRule.java (added) +++ directory/sandbox/akarasulu/apacheds-2.0/schema/descriptions/src/main/java/org/apache/directory/server2/schema/descriptions/DITStructureRule.java Sun Aug 13 15:42:25 2006 @@ -0,0 +1,67 @@ +/* + * Copyright 2004 The Apache Software Foundation + * + * Licensed 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. + * + */ +package org.apache.directory.server2.schema.descriptions; + + +import java.util.List; + +import javax.naming.NamingException; + + +/** + * 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. + * Hence dITStructureRules only apply to structural object classes. + *

+ * According to section 4.1.7.1 of RFC 4512: + *

+ * + *
+ * 
+ * + * @see RFC4512 + * @author Apache Directory Project + * @version $Rev$ + */ +public interface DITStructureRule extends OidObject +{ + /** + * The nameForm associating this ditStructureRule with a structural + * objectClass. + * + * @return the nameForm for the structural objectClass + * @throws NamingException + * if there is a failure resolving the object + */ + NameForm getNameForm() throws NamingException; + + + /** + * Gets a collection of all the superior StructureRules. The difference with + * getSuperClass is this method will resolve the entire superior class + * chain. + * + * @return the chain of StructureRules + * @throws NamingException + * if there is a failure resolving the object + */ + List getSuperClasses() throws NamingException; +} Added: directory/sandbox/akarasulu/apacheds-2.0/schema/descriptions/src/main/java/org/apache/directory/server2/schema/descriptions/NameForm.java URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/apacheds-2.0/schema/descriptions/src/main/java/org/apache/directory/server2/schema/descriptions/NameForm.java?rev=431262&view=auto ============================================================================== --- directory/sandbox/akarasulu/apacheds-2.0/schema/descriptions/src/main/java/org/apache/directory/server2/schema/descriptions/NameForm.java (added) +++ directory/sandbox/akarasulu/apacheds-2.0/schema/descriptions/src/main/java/org/apache/directory/server2/schema/descriptions/NameForm.java Sun Aug 13 15:42:25 2006 @@ -0,0 +1,78 @@ +/* + * Copyright 2004 The Apache Software Foundation + * + * Licensed 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. + * + */ +package org.apache.directory.server2.schema.descriptions; + + +import java.util.List; + +import javax.naming.NamingException; + + +/** + * 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 section 4.1.7.2 of RFC 4512: + *

+ * + *
+ *  4.1.7.2. Name Forms
+ *  
+ * 
+ * + * @see RFC4512 + * @author Apache Directory Project + * @version $Rev$ + */ +public interface NameForm extends OidObject +{ + /** + * Gets the STRUCTURAL ObjectClass this name form specifies naming + * attributes for. + * + * @return the ObjectClass this NameForm is for + * @throws NamingException + * if there is a failure resolving the object + */ + ObjectClass getObjectClass() throws 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. + * + * @return the AttributeTypes of the must use attributes + * @throws NamingException + * if there is a failure resolving the object + */ + List getMustUse() throws 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. + * + * @return the AttributeTypes of the may use attributes + * @throws NamingException + * if there is a failure resolving the object + */ + List getMaytUse() throws NamingException; +}