dlr         01/05/30 09:08:03

  Modified:    src/java/org/apache/turbine/util StringStackBuffer.java
  Log:
  Improved JavaDoc of toString() and toString(String separator) instance
  methods, and refactored the second to remove early return.
  
  Revision  Changes    Path
  1.11      +33 -17    
jakarta-turbine/src/java/org/apache/turbine/util/StringStackBuffer.java
  
  Index: StringStackBuffer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine/src/java/org/apache/turbine/util/StringStackBuffer.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- StringStackBuffer.java    2001/05/05 03:19:19     1.10
  +++ StringStackBuffer.java    2001/05/30 16:07:59     1.11
  @@ -61,7 +61,7 @@
    * This class implements a Stack for String objects.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>John D. McNally</a>
  - * @version $Id: StringStackBuffer.java,v 1.10 2001/05/05 03:19:19 jvanzyl Exp $
  + * @version $Id: StringStackBuffer.java,v 1.11 2001/05/30 16:07:59 dlr Exp $
    */
   public class StringStackBuffer
   {
  @@ -156,9 +156,10 @@
       }
   
       /**
  -     * Converts the Stack to a single String with no separator.
  +     * Converts the stack to a single {@link java.lang.String} with no
  +     * separator.
        *
  -     * @return A String.
  +     * @return The stack elements as a single block of text.
        */
       public String toString()
       {
  @@ -166,28 +167,43 @@
       }
   
       /**
  -     * Converts the Stack to a single String with a separator.
  +     * Converts the stack to a single {@link java.lang.String}.
        *
  -     * @param separator A String.
  -     * @return A String.
  +     * @param separator The text to use as glue between elements in
  +     * the stack.
  +     * @return The stack elements--glued together by
  +     * <code>separator</code>--as a single block of text.
        */
       public String toString( String separator )
       {
  -        if ( size() == 0 ) return "";
  -        if ( separator == null ) separator = "";
  - 
  -        int totalSize = 0;
  -        for (int i=0; i<stk.size(); i++)
  +        String s;
  +        if ( size() > 0 )
           {
  -            totalSize += get(i).length();
  +            if ( separator == null )
  +            {
  +                separator = "";
  +            }
  + 
  +            // Determine what size to pre-allocate for the buffer.
  +            int totalSize = 0;
  +            for (int i = 0; i < stk.size(); i++)
  +            {
  +                totalSize += get(i).length();
  +            }
  +            totalSize += (stk.size() - 1) * separator.length();
  +
  +            StringBuffer sb = new StringBuffer(totalSize).append( get(0) );
  +            for (int i = 1; i < stk.size(); i++)
  +            {
  +                sb.append(separator).append(get(i));
  +            }
  +            s = sb.toString();
           }
  -        totalSize += (stk.size()-1)*separator.length();
  -        StringBuffer sb = new StringBuffer(totalSize).append( get(0) );
  -        for (int i=1; i<stk.size(); i++)
  +        else
           {
  -            sb.append(separator).append(get(i));
  +            s = "";
           }
  -        return sb.toString();
  +        return s;
       }
   
       /**
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to