User: rinkrank
  Date: 02/04/06 17:05:56

  Modified:    src/xjavadoc AbstractExecutableMember.java
  Log:
  -added logic to increase parameter flyweight pool size when needed
  
  Revision  Changes    Path
  1.10      +16 -3     xjavadoc/src/xjavadoc/AbstractExecutableMember.java
  
  Index: AbstractExecutableMember.java
  ===================================================================
  RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/AbstractExecutableMember.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -w -r1.9 -r1.10
  --- AbstractExecutableMember.java     4 Apr 2002 10:59:51 -0000       1.9
  +++ AbstractExecutableMember.java     7 Apr 2002 01:05:55 -0000       1.10
  @@ -100,7 +100,11 @@
        /**
         * @todo-javadoc Describe the field
         */
  -     private final static ParameterImpl[] _parameterPool = new 
ParameterImpl[PARAMETER_POOL_SIZE];
  +     private final static int PARAMETER_POOL_INCREMENT = 10;
  +     /**
  +      * @todo-javadoc Describe the field
  +      */
  +     private static ParameterImpl[] _parameterPool = new 
ParameterImpl[PARAMETER_POOL_SIZE];
   
   
        /**
  @@ -178,8 +182,17 @@
                        parameters = new ParameterImpl[_parameterData.size() / 3];
                        for (int i = parameters.length - 1; i >= 0; i--) {
                                try {
  +                                     if (_parameterPool.length <= i) {
  +                                             // increase flyweight pool size
  +                                             ParameterImpl[] newPool = new 
ParameterImpl[_parameterPool.length + PARAMETER_POOL_INCREMENT];
  +                                             System.arraycopy(_parameterPool, 0, 
newPool, 0, _parameterPool.length);
  +                                             for (int j = _parameterPool.length; j 
< newPool.length; j++) {
  +                                                     newPool[j] = new 
ParameterImpl();
  +                                             }
  +                                             _parameterPool = newPool;
  +                                     }
  +
                                        _parameterPool[i].setState(this, i);
  -                                     // TODO increase pool size
                                        parameters[i] = _parameterPool[i];
                                } catch (ArrayIndexOutOfBoundsException e) {
                                        System.out.println("In member " + 
qualifiedName() + ". Tried to set " + i + "th parameter. FIXME!");
  @@ -367,7 +380,7 @@
        }
   
        static {
  -             for (int i = 0; i < PARAMETER_POOL_SIZE; i++) {
  +             for (int i = 0; i < _parameterPool.length; i++) {
                        _parameterPool[i] = new ParameterImpl();
                }
        }
  
  
  

_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to