You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hivemind.apache.org by hl...@apache.org on 2005/12/06 20:04:23 UTC

svn commit: r354500 - in /jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service: ClassFactory.java impl/ClassFactoryImpl.java impl/CtClassSource.java

Author: hlship
Date: Tue Dec  6 11:04:18 2005
New Revision: 354500

URL: http://svn.apache.org/viewcvs?rev=354500&view=rev
Log:
Add a method to ClassFactory to allow monitoring of the total number of classes created.

Modified:
    jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/ClassFactory.java
    jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/impl/ClassFactoryImpl.java
    jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/impl/CtClassSource.java

Modified: jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/ClassFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/ClassFactory.java?rev=354500&r1=354499&r2=354500&view=diff
==============================================================================
--- jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/ClassFactory.java (original)
+++ jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/ClassFactory.java Tue Dec  6 11:04:18 2005
@@ -33,7 +33,7 @@
      *            the parent class, which is often java.lang.Object
      */
 
-    public ClassFab newClass(String name, Class superClass);
+    ClassFab newClass(String name, Class superClass);
 
     /**
      * Creates a new {@link org.apache.hivemind.service.InterfaceFab} object with the given name.
@@ -41,5 +41,13 @@
      * @since 1.1
      */
 
-    public InterfaceFab newInterface(String name);
+    InterfaceFab newInterface(String name);
+
+    /**
+     * Returns the number of classes (and interfaces) actually created.
+     * 
+     * @since 1.2
+     */
+
+    int getCreatedClassCount();
 }

Modified: jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/impl/ClassFactoryImpl.java
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/impl/ClassFactoryImpl.java?rev=354500&r1=354499&r2=354500&view=diff
==============================================================================
--- jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/impl/ClassFactoryImpl.java (original)
+++ jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/impl/ClassFactoryImpl.java Tue Dec  6 11:04:18 2005
@@ -70,4 +70,9 @@
 
     }
 
+    public int getCreatedClassCount()
+    {
+        return _classSource.getCreatedClassCount();
+    }
+
 }

Modified: jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/impl/CtClassSource.java
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/impl/CtClassSource.java?rev=354500&r1=354499&r2=354500&view=diff
==============================================================================
--- jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/impl/CtClassSource.java (original)
+++ jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/impl/CtClassSource.java Tue Dec  6 11:04:18 2005
@@ -31,6 +31,20 @@
 {
     private HiveMindClassPool _pool;
 
+    private int _createdClassCount = 0;
+
+    /**
+     * Returns the number of classes (and interfaces) created by this source.
+     * 
+     * @see #createClass(CtClass)
+     * @return the count
+     * @since 1.2
+     */
+    public int getCreatedClassCount()
+    {
+        return _createdClassCount;
+    }
+
     public CtClassSource(HiveMindClassPool pool)
     {
         _pool = pool;
@@ -81,7 +95,11 @@
 
         try
         {
-            return _pool.toClass(ctClass);
+            Class result = _pool.toClass(ctClass);
+
+            _createdClassCount++;
+
+            return result;
         }
         catch (Throwable ex)
         {



---------------------------------------------------------------------
To unsubscribe, e-mail: hivemind-cvs-unsubscribe@jakarta.apache.org
For additional commands, e-mail: hivemind-cvs-help@jakarta.apache.org