You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2008/06/06 17:58:48 UTC
svn commit: r663993 -
/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/schema/AbstractSchemaObject.java
Author: elecharny
Date: Fri Jun 6 08:58:48 2008
New Revision: 663993
URL: http://svn.apache.org/viewvc?rev=663993&view=rev
Log:
Added a static hash value which is computed only once as the OID is not dynamic. This will spare some CPU.
Modified:
directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/schema/AbstractSchemaObject.java
Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/schema/AbstractSchemaObject.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/schema/AbstractSchemaObject.java?rev=663993&r1=663992&r2=663993&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/schema/AbstractSchemaObject.java (original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/schema/AbstractSchemaObject.java Fri Jun 6 08:58:48 2008
@@ -33,6 +33,9 @@
{
/** a numeric object identifier */
protected final String oid;
+
+ /** The object hash code compiled only once to avoid doing it at every call */
+ private int hash;
/** whether or not this SchemaObject is active */
protected boolean isObsolete;
@@ -63,6 +66,8 @@
protected AbstractSchemaObject( String oid )
{
this( oid, ArrayUtils.EMPTY_STRING_ARRAY, false, null );
+
+ hash = oid.hashCode();
}
@@ -76,6 +81,8 @@
protected AbstractSchemaObject( String oid, String[] names )
{
this( oid, names, false, null );
+
+ hash = oid.hashCode();
}
@@ -90,6 +97,8 @@
protected AbstractSchemaObject( String oid, String[] names, boolean isObsolete )
{
this( oid, names, isObsolete, null );
+
+ hash = oid.hashCode();
}
@@ -105,6 +114,8 @@
{
this( oid, new String[]
{ name }, isObsolete, null );
+
+ hash = oid.hashCode();
}
@@ -118,6 +129,8 @@
protected AbstractSchemaObject( String oid, boolean isObsolete )
{
this( oid, null, isObsolete, null );
+
+ hash = oid.hashCode();
}
@@ -131,6 +144,8 @@
protected AbstractSchemaObject( String oid, String description )
{
this( oid, null, false, description );
+
+ hash = oid.hashCode();
}
@@ -158,6 +173,8 @@
{
this.names = names;
}
+
+ hash = oid.hashCode();
}
@@ -277,13 +294,14 @@
/**
- * Based on the hashCode of the oid property.
+ * Based on the hashCode of the oid property. It's bre-computed, as this
+ * value won't change once the instance is created.
*
* @return the hashCode of the oid String
*/
public int hashCode()
{
- return oid.hashCode();
+ return hash;
}