snichol     2002/11/18 06:34:52

  Modified:    java/src/org/apache/soap/util/xml NSStack.java
  Log:
  Add toString, deprecate dump, add some javadoc.
  
  Revision  Changes    Path
  1.6       +39 -2     xml-soap/java/src/org/apache/soap/util/xml/NSStack.java
  
  Index: NSStack.java
  ===================================================================
  RCS file: /home/cvs/xml-soap/java/src/org/apache/soap/util/xml/NSStack.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- NSStack.java      18 Nov 2002 14:23:06 -0000      1.5
  +++ NSStack.java      18 Nov 2002 14:34:52 -0000      1.6
  @@ -60,7 +60,7 @@
   import java.io.IOException;
   import java.io.Writer;
   
  -import org.apache.soap.util.xml.*;
  +import org.apache.soap.util.StringUtils;
   
   /**
    * This class implements a namespace stack for XML apps to use. If
  @@ -96,6 +96,9 @@
   
       private static final int START_ARRAY_SIZE = 32;
   
  +    /**
  +     * Default constructor.
  +     */
       public NSStack() {
           URIStack = new String[START_ARRAY_SIZE];
           prefixStack = new String[START_ARRAY_SIZE];
  @@ -247,6 +250,9 @@
   
       /**
        * Given a prefix, return the associated namespace (if any).
  +     *
  +     * @param prefix The prefix for which to find a namespace.
  +     * @return The namespace for the prefix, null if there is not one.
        */
       public String getURIFromPrefix(String prefix) {
           if (prefix == null)
  @@ -260,6 +266,11 @@
           return null;
       }
   
  +    /**
  +     * Dumps the namespace stack to standard output.
  +     *
  +     * @deprecated After 2.3.1; use toString instead.
  +     */
       public void dump() {
           int end = iterator;
           int start = 0;
  @@ -273,5 +284,31 @@
               }
           }
       }
  -}
   
  +    /**
  +     *  Returns the namespace stack as a string.
  +     *
  +     *  @return The namespace stack as a string.
  +     */
  +    public String toString() {
  +        StringBuffer sb = new StringBuffer(2048);
  +        int end = iterator;
  +        int start = 0;
  +        for (int cursor = top; cursor >= 0; cursor--, end = start - 1) {
  +            start = scope[cursor] + 1;
  +
  +            sb.append("Level: ")
  +              .append(cursor)
  +              .append(StringUtils.lineSeparator);
  +
  +            for (int j = start; j <= end; j++) {
  +                sb.append("    Map:")
  +                  .append(URIStack[cursor])
  +                  .append(" -> ")
  +                  .append(prefixStack[cursor])
  +                  .append(StringUtils.lineSeparator);
  +            }
  +        }
  +        return sb.toString();
  +    }
  +}
  
  
  

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

Reply via email to