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 2004/10/19 02:33:55 UTC
svn commit: rev 55043 - incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema
Author: akarasulu
Date: Mon Oct 18 17:33:54 2004
New Revision: 55043
Added:
incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/AbstractSchemaObject.java (contents, props changed)
Modified:
incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/AbstractSyntax.java
incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/AttributeType.java
incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/BaseAttributeType.java
incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/BaseMatchingRule.java
incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/DITContentRule.java
incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/DITStructureRule.java
incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/DefaultObjectClass.java
incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/MatchingRule.java
incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/MatchingRuleUse.java
incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/NameForm.java
incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/ObjectClass.java
incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/SchemaObject.java
incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/Syntax.java
Log:
Commit changes ...
o cleaning up the schema API
o created a abstract class hierarchy for ease of implementations
o corrected several assumptions regarding schema objects
o added new abstract base class for schema objects
Added: incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/AbstractSchemaObject.java
==============================================================================
--- (empty file)
+++ incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/AbstractSchemaObject.java Mon Oct 18 17:33:54 2004
@@ -0,0 +1,278 @@
+/*
+ * 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.ldap.common.schema;
+
+
+import org.apache.ldap.common.util.ArrayUtils;
+
+
+/**
+ * The abstract base class for all schema object types.
+ *
+ * @author <a href="mailto:directory-dev@incubator.apache.org">Apache Directory Project</a>
+ * @version $Rev$
+ */
+public class AbstractSchemaObject implements SchemaObject
+{
+ /** a numeric object identifier */
+ protected final String oid;
+
+ /** whether or not this SchemaObject is active */
+ protected boolean isObsolete = false;
+ /** a human readible identifiers for this SchemaObject */
+ protected String[] names = ArrayUtils.EMPTY_STRING_ARRAY;
+ /** a short description of this SchemaObject */
+ protected String description;
+
+
+ // ------------------------------------------------------------------------
+ // C O N S T R U C T O R S
+ // ------------------------------------------------------------------------
+
+
+ /**
+ * Creates an abstract SchemaObject.
+ *
+ * @param oid the numeric object identifier (OID)
+ * @see SchemaObject#getOid()
+ * @see MatchingRuleUse
+ * @throws NullPointerException if oid is null
+ */
+ protected AbstractSchemaObject( String oid )
+ {
+ this( oid, ArrayUtils.EMPTY_STRING_ARRAY, false, null );
+ }
+
+
+ /**
+ * Creates an abstract SchemaObject.
+ *
+ * @param oid the numeric object identifier (OID)
+ * @param names the human readable names for this SchemaObject
+ * @throws NullPointerException if oid is null
+ */
+ protected AbstractSchemaObject( String oid, String[] names )
+ {
+ this( oid, names, false, null );
+ }
+
+
+ /**
+ * Creates an abstract SchemaObject.
+ *
+ * @param oid the numeric object identifier (OID)
+ * @param names the human readable names for this SchemaObject
+ * @param isObsolete true if this object is inactive, false if active
+ * @throws NullPointerException if oid is null
+ */
+ protected AbstractSchemaObject( String oid, String[] names, boolean isObsolete )
+ {
+ this( oid, names, isObsolete, null );
+ }
+
+
+ /**
+ * Creates an abstract SchemaObject.
+ *
+ * @param oid the numeric object identifier (OID)
+ * @param isObsolete true if this object is inactive, false if active
+ * @throws NullPointerException if oid is null
+ */
+ protected AbstractSchemaObject( String oid, boolean isObsolete )
+ {
+ this( oid, null, isObsolete, null );
+ }
+
+
+ /**
+ * Creates an abstract SchemaObject.
+ *
+ * @param oid the numeric object identifier (OID)
+ * @param description a brief description for the SchemaObject
+ * @throws NullPointerException if oid is null
+ */
+ protected AbstractSchemaObject( String oid, String description )
+ {
+ this( oid, null, false, description );
+ }
+
+
+ /**
+ * Creates an abstract SchemaObject.
+ *
+ * @param oid the numeric object identifier (OID)
+ * @param names the human readable names for this SchemaObject
+ * @param isObsolete true if this object is inactive, false if active
+ * @param description a brief description for the SchemaObject
+ * @throws NullPointerException if oid is null
+ */
+ protected AbstractSchemaObject( String oid, String[] names,
+ boolean isObsolete, String description )
+ {
+ if ( oid == null )
+ {
+ throw new NullPointerException( "oid cannot be null" );
+ }
+
+ this.oid = oid;
+ this.isObsolete = isObsolete;
+ this.description = description;
+
+ if ( names != null )
+ {
+ this.names = names;
+ }
+ }
+
+
+ // ------------------------------------------------------------------------
+ // P U B L I C A C C E S S O R S
+ // ------------------------------------------------------------------------
+
+
+ /**
+ * @see SchemaObject#getOid()
+ */
+ public String getOid()
+ {
+ return oid;
+ }
+
+
+ /**
+ * @see SchemaObject#isObsolete()
+ */
+ public boolean isObsolete()
+ {
+ return isObsolete;
+ }
+
+
+ /**
+ * @see SchemaObject#getNames()
+ */
+ public String[] getNames()
+ {
+ return names;
+ }
+
+
+ /**
+ * @see SchemaObject#getName()
+ */
+ public String getName()
+ {
+ return ( names == null || names.length == 0 ) ? null : names[0];
+ }
+
+
+ /**
+ * @see SchemaObject#getDescription()
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+
+ // ------------------------------------------------------------------------
+ // P R O T E C T E D M U T A T O R S
+ // ------------------------------------------------------------------------
+
+
+ /**
+ * Sets whether or not this SchemaObject is inactived.
+ *
+ * @param obsolete true if this object is inactive, false if it is in use
+ */
+ protected void setObsolete( boolean obsolete )
+ {
+ isObsolete = obsolete;
+ }
+
+
+ /**
+ * Sets the human readable names for this SchemaObject.
+ *
+ * @param names the human readable names for this SchemaObject
+ */
+ protected void setNames( String[] names )
+ {
+ this.names = names;
+ }
+
+
+ /**
+ * Sets the brief description for this SchemaObject.
+ *
+ * @param description the brief description for this SchemaObject
+ */
+ protected void setDescription( String description )
+ {
+ this.description = description;
+ }
+
+
+ // ------------------------------------------------------------------------
+ // Object overloads
+ // ------------------------------------------------------------------------
+
+
+ /**
+ * Based on the hashCode of the oid property.
+ *
+ * @return the hashCode of the oid String
+ */
+ public int hashCode()
+ {
+ return oid.hashCode();
+ }
+
+
+ /**
+ * If the object implements SchemaObject and has the same OID as this
+ * SchemaObject then they are considered equal.
+ *
+ * @param obj the object to test for equality
+ * @return true if obj is a SchemaObject and the OID's match
+ */
+ public boolean equals( Object obj )
+ {
+ if ( obj == this )
+ {
+ return true;
+ }
+
+ if ( obj instanceof SchemaObject )
+ {
+ return oid.equals( ( ( SchemaObject ) obj ).getOid() );
+ }
+
+ return false;
+ }
+
+
+ /**
+ * Gets the String for the OID of this SchmeaObject.
+ *
+ * @return the OID of this SchmeaObject
+ */
+ public String toString()
+ {
+ return oid.toString();
+ }
+}
Modified: incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/AbstractSyntax.java
==============================================================================
--- incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/AbstractSyntax.java (original)
+++ incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/AbstractSyntax.java Mon Oct 18 17:33:54 2004
@@ -23,19 +23,12 @@
* @author <a href="mailto:directory-dev@incubator.apache.org">Apache Directory Project</a>
* @version $Rev$
*/
-public abstract class AbstractSyntax implements Syntax
+public abstract class AbstractSyntax extends AbstractSchemaObject implements Syntax
{
- /** the oid of this Syntax */
- private final String oid;
-
/** the human readible flag */
- private boolean isHumanReadible;
- /** a short description of this Syntax */
- private String description;
- /** a human readible identifier for this Syntax */
- private String name;
-
-
+ private boolean isHumanReadible = false;
+
+
// ------------------------------------------------------------------------
// C O N S T R U C T O R S
// ------------------------------------------------------------------------
@@ -48,8 +41,7 @@
*/
protected AbstractSyntax( String oid )
{
- this.oid = oid;
- this.isHumanReadible = false;
+ super( oid );
}
@@ -57,13 +49,12 @@
* Creates a Syntax object using a unique OID.
*
* @param oid the OID for this Syntax
- * @param name the name for this Syntax
+ * @param isHumanReadible whether or not Syntax is human readible
*/
- protected AbstractSyntax( String oid, String name )
+ protected AbstractSyntax( String oid, boolean isHumanReadible )
{
- this.oid = oid;
- this.name = name;
- this.isHumanReadible = false;
+ super( oid );
+ this.isHumanReadible = isHumanReadible;
}
@@ -71,14 +62,11 @@
* Creates a Syntax object using a unique OID.
*
* @param oid the OID for this Syntax
- * @param name the name for this Syntax
- * @param isHumanReadible whether or not Syntax is human readible
+ * @param description the description for this Syntax
*/
- protected AbstractSyntax( String oid, String name, boolean isHumanReadible )
+ protected AbstractSyntax( String oid, String description )
{
- this.oid = oid;
- this.name = name;
- this.isHumanReadible = isHumanReadible;
+ super( oid, description );
}
@@ -86,16 +74,12 @@
* Creates a Syntax object using a unique OID.
*
* @param oid the OID for this Syntax
- * @param name the name for this Syntax
* @param isHumanReadible whether or not Syntax is human readible
* @param description the description for this Syntax
*/
- protected AbstractSyntax( String oid, String name, String description,
- boolean isHumanReadible )
+ protected AbstractSyntax( String oid, String description, boolean isHumanReadible )
{
- this.oid = oid;
- this.name = name;
- this.description = description;
+ super( oid, description );
this.isHumanReadible = isHumanReadible;
}
@@ -113,33 +97,6 @@
return isHumanReadible;
}
-
- /**
- * @see org.apache.ldap.common.schema.Syntax#getDescription()
- */
- public final String getDescription()
- {
- return description;
- }
-
-
- /**
- * @see org.apache.ldap.common.schema.Syntax#getName()
- */
- public final String getName()
- {
- return name;
- }
-
-
- /**
- * @see org.apache.ldap.common.schema.Syntax#getOid()
- */
- public final String getOid()
- {
- return oid;
- }
-
// ------------------------------------------------------------------------
// Protected setters
@@ -147,17 +104,6 @@
/**
- * Sets the description for this Syntax.
- *
- * @param description the description to set
- */
- protected void setDescription( String description )
- {
- this.description = description;
- }
-
-
- /**
* Sets the human readible flag value.
*
* @param isHumanReadible the human readible flag value to set
@@ -168,17 +114,6 @@
}
- /**
- * Sets the name of this Syntax.
- *
- * @param name the name to set.
- */
- protected void setName( String name )
- {
- this.name = name;
- }
-
-
// ------------------------------------------------------------------------
// Object overloads
// ------------------------------------------------------------------------
@@ -204,27 +139,16 @@
*/
public boolean equals( Object obj )
{
- if ( obj == this )
+ if (! super.equals( obj ) )
{
- return true;
+ return false;
}
if ( obj instanceof Syntax )
{
- return oid.equals( ( ( Syntax ) obj ).getOid() );
+ return true;
}
return false;
- }
-
-
- /**
- * Prints out the Syntax OID of the Syntax
- *
- * @return
- */
- public String toString()
- {
- return super.toString();
}
}
Modified: incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/AttributeType.java
==============================================================================
--- incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/AttributeType.java (original)
+++ incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/AttributeType.java Mon Oct 18 17:33:54 2004
@@ -126,27 +126,6 @@
public interface AttributeType extends SchemaObject
{
/**
- * Gets the object identifier for this AttributeType.
- *
- * @return the object identifier for this AttributeType
- */
- String getOid();
-
- /**
- * Gets the first name in the list of names for this AttributeTypeImpl.
- *
- * @return the first name in the list of names
- */
- String getName();
-
- /**
- * Gets all the names for this AttributeType.
- *
- * @return String names for this AttributeType
- */
- String[] getAllNames();
-
- /**
* Gets whether or not this AttributeType is single-valued.
*
* @return true if only one value can exist for this AttributeType, false
@@ -168,13 +147,6 @@
*/
boolean isCollective();
- /**
- * Gets whether or not this AttributeType is obsolete.
- *
- * @return true if obsolete, false if not.
- */
- boolean isObsolete();
-
/**
* Determines the usage for this AttributeType.
*
Modified: incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/BaseAttributeType.java
==============================================================================
--- incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/BaseAttributeType.java (original)
+++ incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/BaseAttributeType.java Mon Oct 18 17:33:54 2004
@@ -27,20 +27,14 @@
* @author <a href="mailto:directory-dev@incubator.apache.org">Apache Directory Project</a>
* @version $Rev$
*/
-public class BaseAttributeType implements Serializable, AttributeType
+public class BaseAttributeType extends AbstractSchemaObject implements Serializable, AttributeType
{
// ------------------------------------------------------------------------
// Specification Attributes
// ------------------------------------------------------------------------
- /** the object identifier for this attributeType */
- private final String oid;
/** the optional superior attributeType */
private AttributeType superior;
- /** names for this attribute of this type */
- private String[] nameArray;
- /** the optional description for this attributeType*/
- private String descption;
/** the equality matching rule for this attributeType */
private MatchingRule equality;
/** the substring matching rule for this attributeType */
@@ -55,8 +49,6 @@
private boolean isCollective = false;
/** whether or not this type can be modified by directory users */
private boolean canUserModify = true;
- /** whether or not this type has been obsoleted */
- private boolean isObsolete = true;
/** the usage for this attributeType */
private UsageEnum usage = UsageEnum.USERAPPLICATIONS;
/** the length of this attribute in bytes */
@@ -75,7 +67,7 @@
*/
protected BaseAttributeType( String oid )
{
- this.oid = oid;
+ super( oid );
}
@@ -90,40 +82,12 @@
}
- public String getName()
- {
- if ( nameArray == null )
- {
- return null;
- }
-
- if ( nameArray.length == 0 )
- {
- return null;
- }
-
- return ( String ) nameArray[0];
- }
-
-
- public String[] getAllNames()
- {
- return nameArray;
- }
-
-
public boolean isObsolete()
{
return isObsolete;
}
- public String getDescription()
- {
- return descption;
- }
-
-
public String getSyntaxOid()
{
return syntax.getOid();
@@ -194,21 +158,9 @@
// ------------------------------------------------------------------------
- protected void setDescription( String description )
- {
- this.descption = description;
- }
-
-
protected void setSuperior( AttributeType superior )
{
this.superior = superior;
- }
-
-
- protected void setAllNames( String[] names )
- {
- this.nameArray = names;
}
Modified: incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/BaseMatchingRule.java
==============================================================================
--- incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/BaseMatchingRule.java (original)
+++ incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/BaseMatchingRule.java Mon Oct 18 17:33:54 2004
@@ -26,24 +26,15 @@
* @author <a href="mailto:directory-dev@incubator.apache.org">Apache Directory Project</a>
* @version $Rev$
*/
-public class BaseMatchingRule implements MatchingRule
+public class BaseMatchingRule extends AbstractSchemaObject implements MatchingRule
{
- /** the object identifier */
- private final String oid;
-
/** the syntax this matching rule can be applied to */
private Syntax syntax;
/** comparator used to compare and match values of the associated syntax */
private Comparator comparator;
/** normalizer used to transform values to a canonical form */
private Normalizer normalizer;
- /** isObsolete boolean flag */
- private boolean isObsolete = false;
- /** a short descriptive name */
- private String name = null;
- /** a description about this MatchingRule */
- private String description = null;
-
+
// ------------------------------------------------------------------------
// C O N S T R U C T O R S
@@ -57,7 +48,7 @@
*/
public BaseMatchingRule( String oid )
{
- this.oid = oid;
+ super( oid );
}
@@ -67,49 +58,13 @@
/**
- * @see org.apache.ldap.common.schema.MatchingRule#getDescription()
- */
- public String getDescription()
- {
- return description;
- }
-
-
- /**
- * @see org.apache.ldap.common.schema.MatchingRule#getName()
- */
- public String getName()
- {
- return name;
- }
-
-
- /**
- * @see org.apache.ldap.common.schema.MatchingRule#getOid()
- */
- public String getOid()
- {
- return oid;
- }
-
-
- /**
* @see org.apache.ldap.common.schema.MatchingRule#getSyntax()
*/
public Syntax getSyntax()
{
return syntax;
}
-
- /**
- * @see org.apache.ldap.common.schema.MatchingRule#isObsolete()
- */
- public boolean isObsolete()
- {
- return isObsolete;
- }
-
/**
* @see org.apache.ldap.common.schema.MatchingRule#getComparator()
@@ -134,39 +89,6 @@
// ------------------------------------------------------------------------
- /**
- * Sets a short description for this MatchingRule.
- *
- * @param description the description to set
- */
- protected void setDescription(String description)
- {
- this.description = description;
- }
-
-
- /**
- * Sets this MatchingRule's isObsolete flag.
- *
- * @param isObsolete whether or not this object is obsolete.
- */
- protected void setObsolete( boolean isObsolete )
- {
- this.isObsolete = isObsolete;
- }
-
-
- /**
- * Sets the short descriptive name for this MatchingRule.
- *
- * @param name The name to set
- */
- protected void setName( String name )
- {
- this.name = name;
- }
-
-
/**
* Sets the syntax this matching rule works with.
*
Modified: incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/DITContentRule.java
==============================================================================
--- incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/DITContentRule.java (original)
+++ incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/DITContentRule.java Mon Oct 18 17:33:54 2004
@@ -107,13 +107,6 @@
public interface DITContentRule extends SchemaObject
{
/**
- * Gets a short descriptive name for the DITContentRule.
- *
- * @return a short name.
- */
- String getName();
-
- /**
* Gets the oid for this DITContentRule.
*
* @return the object identifier
Modified: incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/DITStructureRule.java
==============================================================================
--- incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/DITStructureRule.java (original)
+++ incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/DITStructureRule.java Mon Oct 18 17:33:54 2004
@@ -75,13 +75,6 @@
public interface DITStructureRule extends SchemaObject
{
/**
- * Gets a short descriptive name for the DITStructureRule.
- *
- * @return a short name.
- */
- String getName();
-
- /**
* Gets the oid for this DITStructureRule.
*
* @return the object identifier
Modified: incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/DefaultObjectClass.java
==============================================================================
--- incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/DefaultObjectClass.java (original)
+++ incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/DefaultObjectClass.java Mon Oct 18 17:33:54 2004
@@ -30,7 +30,7 @@
* @author <a href="mailto:directory-dev@incubator.apache.org">Apache Directory Project</a>
* @version $Rev$
*/
-public class DefaultObjectClass implements ObjectClass, Serializable
+public class DefaultObjectClass extends AbstractSchemaObject implements ObjectClass, Serializable
{
/** empty array of ObjectClasses so we do not have to recreate objects */
private static final ObjectClass[] EMPTY_OCLASS_ARR = new ObjectClass[0];
@@ -44,18 +44,10 @@
/** */
private ObjectClassTypeEnum type = ObjectClassTypeEnum.ABSTRACT;
/** */
- private final String oid;
- /** */
- private boolean isObsolete;
- /** */
- private String desc;
- /** */
private ArrayList mayList;
/** */
private ArrayList mustList;
/** */
- private String name;
- /** */
private ArrayList superClasses;
@@ -71,7 +63,7 @@
*/
DefaultObjectClass( String oid )
{
- this.oid = oid;
+ super( oid );
}
@@ -119,58 +111,12 @@
}
- public String getOid()
- {
- return oid;
- }
-
-
- public String getName()
- {
- return name;
- }
-
-
- public String getDescription()
- {
- return desc;
- }
-
-
- public boolean isObsolete()
- {
- return isObsolete;
- }
-
-
// ------------------------------------------------------------------------
// Package Friendly Mutators
// ------------------------------------------------------------------------
/**
- * Sets whether or not this is an obsoleted ObjectClass.
- *
- * @param isObsolete whether or not this is an obsoleted ObjectClass
- */
- void setObsolete( boolean isObsolete )
- {
- this.isObsolete = isObsolete;
- }
-
-
- /**
- * Sets the description for this objectClass.
- *
- * @param desc the description for this objectClass
- */
- void setDescription( String desc )
- {
- this.desc = desc;
- }
-
-
- /**
* Adds a list of AttributeTypes that may be present within this
* ObjectClass.
*
@@ -193,7 +139,7 @@
*
* @param mustList more AttributeTypes to add to the mandatory list
*/
- void addToMustList( ArrayList mustList )
+ void addToMustList( List mustList )
{
if ( this.mustList == null )
{
@@ -205,17 +151,6 @@
/**
- * Sets the name of this ObjectClass.
- *
- * @param name the name to set for this ObjectClass
- */
- void setName( String name )
- {
- this.name = name;
- }
-
-
- /**
* Adds ObjectClass to the list of super classes for this ObjectClass.
*
* @param superClasses the list of super classes to add to this ObjectClass
@@ -239,21 +174,5 @@
void setType( ObjectClassTypeEnum type )
{
this.type = type;
- }
-
-
- // ------------------------------------------------------------------------
- // Object Overrides
- // ------------------------------------------------------------------------
-
-
- /**
- * Prints the name of this objectClass.
- *
- * @see java.lang.Object#toString()
- */
- public String toString()
- {
- return ( String ) name;
}
}
Modified: incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/MatchingRule.java
==============================================================================
--- incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/MatchingRule.java (original)
+++ incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/MatchingRule.java Mon Oct 18 17:33:54 2004
@@ -71,42 +71,14 @@
* @author <a href="mailto:directory-dev@incubator.apache.org">Apache Directory Project</a>
* @version $Rev$
*/
-public interface MatchingRule
+public interface MatchingRule extends SchemaObject
{
/**
- * Gets a long description for the MatchingRule.
- *
- * @return a long description
- */
- String getDescription();
-
- /**
- * Gets a short descriptive name for the MatchingRule.
- *
- * @return a short name
- */
- String getName();
-
- /**
- * Gets the oid for this MatchingRule.
- *
- * @return the object identifier
- */
- String getOid();
-
- /**
* Gets the SyntaxImpl used by this MatchingRule.
*
* @return the SyntaxImpl of this MatchingRule
*/
Syntax getSyntax();
-
- /**
- * Gets whether or not this MatchingRule has been obsoleted for another.
- *
- * @return true if it is obsolete false otherwise
- */
- boolean isObsolete();
/**
* Gets the Comparator enabling the use of this MatchingRule for ORDERING
Modified: incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/MatchingRuleUse.java
==============================================================================
--- incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/MatchingRuleUse.java (original)
+++ incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/MatchingRuleUse.java Mon Oct 18 17:33:54 2004
@@ -76,20 +76,6 @@
public interface MatchingRuleUse extends SchemaObject
{
/**
- * Gets a short descriptive name for the MatchingRuleUse.
- *
- * @return a short name
- */
- String getName();
-
- /**
- * Gets whether or not this MatchingRuleUse has been obsoleted for another.
- *
- * @return true if it is obsolete false otherwise
- */
- boolean isObsolete();
-
- /**
* Gets the matchingRule this MatchingRuleUse definition applies to.
*
* @return the matchingRule
@@ -102,5 +88,5 @@
*
* @return the applicable attributes
*/
- public AttributeType [] getApplicableAttributes();
+ public AttributeType[] getApplicableAttributes();
}
Modified: incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/NameForm.java
==============================================================================
--- incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/NameForm.java (original)
+++ incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/NameForm.java Mon Oct 18 17:33:54 2004
@@ -85,13 +85,6 @@
public interface NameForm extends SchemaObject
{
/**
- * Gets a short descriptive name for the NameForm.
- *
- * @return a short name.
- */
- String getName();
-
- /**
* Gets the oid for this NameForm.
*
* @return the object identifier
Modified: incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/ObjectClass.java
==============================================================================
--- incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/ObjectClass.java (original)
+++ incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/ObjectClass.java Mon Oct 18 17:33:54 2004
@@ -71,13 +71,6 @@
String getOid();
/**
- * Gets the human readable name of this ObjectClass.
- *
- * @return the name of this ObjectClass
- */
- String getName();
-
- /**
* Gets whether or not this NameForm is obsolete.
*
* @return true if obsolete, false if not.
Modified: incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/SchemaObject.java
==============================================================================
--- incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/SchemaObject.java (original)
+++ incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/SchemaObject.java Mon Oct 18 17:33:54 2004
@@ -60,6 +60,44 @@
public interface SchemaObject
{
/**
+ * Gets whether or not this SchemaObject has been inactivated. All
+ * SchemaObjects except Syntaxes allow for this parameter within their
+ * definition. For Syntaxes this property should always return false in
+ * which case it is never included in the description.
+ *
+ * @return true if inactive, false if active
+ */
+ boolean isObsolete();
+
+ /**
+ * Gets usually what is the numeric object identifier assigned to this
+ * SchemaObject. All schema objects except for MatchingRuleUses have an
+ * OID assigned specifically to then. A MatchingRuleUse's OID really is
+ * the OID of it's MatchingRule and not specific to the MatchingRuleUse.
+ * This effects how MatchingRuleUse objects are maintained by the system.
+ *
+ * @return an OID for this SchemaObject or its MatchingRule if this
+ * SchemaObject is a MatchingRuleUse object
+ */
+ String getOid();
+
+ /**
+ * Gets short names for this SchemaObject if any exists for it.
+ *
+ * @return the names for this SchemaObject
+ */
+ String[] getNames();
+
+ /**
+ * Gets the first name in the set of short names for this SchemaObject if
+ * any exists for it.
+ *
+ * @return the first of the names for this SchemaObject or null if one does
+ * not exist
+ */
+ String getName();
+
+ /**
* Gets a short description about this SchemaObject.
*
* @return a short description about this SchemaObject
Modified: incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/Syntax.java
==============================================================================
--- incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/Syntax.java (original)
+++ incubator/directory/ldap/trunk/common/src/java/org/apache/ldap/common/schema/Syntax.java Mon Oct 18 17:33:54 2004
@@ -73,13 +73,6 @@
boolean isHumanReadable();
/**
- * Gets a short descriptive name for the Syntax.
- *
- * @return a short name
- */
- String getName();
-
- /**
* Gets the oid for this Syntax.
*
* @return the object identifier