Home » apache-tomcat-6.0.26-src » org.apache » tomcat » util » [javadoc | source]

    1   /*
    2    * The Apache Software License, Version 1.1
    3    *
    4    * Copyright (c) 1999 The Apache Software Foundation.  All rights 
    5    * reserved.
    6    *
    7    * Redistribution and use in source and binary forms, with or without
    8    * modification, are permitted provided that the following conditions
    9    * are met:
   10    *
   11    * 1. Redistributions of source code must retain the above copyright
   12    *    notice, this list of conditions and the following disclaimer. 
   13    *
   14    * 2. Redistributions in binary form must reproduce the above copyright
   15    *    notice, this list of conditions and the following disclaimer in
   16    *    the documentation and/or other materials provided with the
   17    *    distribution.
   18    *
   19    * 3. The end-user documentation included with the redistribution, if
   20    *    any, must include the following acknowlegement:  
   21    *       "This product includes software developed by the 
   22    *        Apache Software Foundation (http://www.apache.org/)."
   23    *    Alternately, this acknowlegement may appear in the software itself,
   24    *    if and wherever such third-party acknowlegements normally appear.
   25    *
   26    * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
   27    *    Foundation" must not be used to endorse or promote products derived
   28    *    from this software without prior written permission. For written 
   29    *    permission, please contact apache@apache.org.
   30    *
   31    * 5. Products derived from this software may not be called "Apache"
   32    *    nor may "Apache" appear in their names without prior written
   33    *    permission of the Apache Group.
   34    *
   35    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   36    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   37    * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   38    * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   39    * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   40    * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   41    * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   42    * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   43    * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   44    * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   45    * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   46    * SUCH DAMAGE.
   47    * ====================================================================
   48    *
   49    * This software consists of voluntary contributions made by many
   50    * individuals on behalf of the Apache Software Foundation.  For more
   51    * information on the Apache Software Foundation, please see
   52    * <http://www.apache.org/>.
   53    *
   54    * [Additional notices, if required by prior licensing conditions]
   55    *
   56    */ 
   57   
   58   
   59   package org.apache.tomcat.util;
   60   
   61   import org.apache.tomcat.util.StringManager;
   62   import java.io;
   63   import javax.servlet.ServletOutputStream;
   64   
   65   // XXX Find a better name, move to util
   66   
   67   /**
   68    *
   69    *
   70    */
   71   public class BuffTool {
   72       
   73       public static  void addInt( byte buff[], int pos, int v ) {
   74   	buff[pos]=(byte) ((v >>>  8) & 0xFF);
   75   	buff[pos+1]=(byte) ((v >>>  0) & 0xFF);
   76       }
   77   
   78       /** @returns new position
   79        */ 
   80       public static int addString( byte buff[], int pos, String v ) {
   81   	if(v!=null) {
   82   	    int len=v.length();
   83   	    addInt( buff, pos, len );
   84   	    System.arraycopy( v.getBytes(), 0, buff, pos+2, len);
   85   	    buff[pos+len+2]=0;
   86   	    return len+pos+3;
   87   	}  else {
   88   	    addInt( buff, pos, 0);
   89   	    buff[pos+2] = 0;
   90   	    return pos+3;
   91   	}                   
   92       }
   93   
   94       public static  int getInt( byte b[], int offset )  {
   95   	int b1=b[offset]&0xFF; // No swap, Java order
   96   	int b2=b[offset+1]&0xFF;
   97   	return  (b1<<8) + (b2<<0);
   98       }
   99   
  100       public static String getString( byte b[] , int pos, int len ) {
  101   	return new String(  b, pos, len );
  102       }
  103   
  104   
  105       public static void dump( byte buff[], int len ) {
  106   	for (int i=0; i<len; i+=8 ) {
  107   	    for(int j=i; j<i+8; j++ ) {
  108   		if( j<len) {
  109   		    if( buff[j]<16 && buff[j]>=0 ) System.out.print("0");
  110   		    System.out.print( Integer.toHexString( ((int)buff[j]) & 0xFF) + " " );
  111   		}
  112   	    }
  113   	    if( i+8 <len )
  114   		System.out.print( new String( buff, i, 8 ));
  115   	    else
  116   		System.out.print( new String( buff, i, len-i ));
  117   	    System.out.println();
  118   	}
  119   	System.out.println();
  120       }
  121   
  122   
  123   }

Home » apache-tomcat-6.0.26-src » org.apache » tomcat » util » [javadoc | source]