Data Type Java

// 
// Copyright 2004-2005 Mort Bay Consulting Pty. Ltd.
// ------------------------------------------------------------------------
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at 
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// 
/**
 * Fast String Utilities.
 * 
 * These string utilities provide both conveniance methods and performance
 * improvements over most standard library versions. The main aim of the
 * optimizations is to avoid object creation unless absolutely required.
 * 
 * @author Greg Wilkins (gregw)
 */
public class Utils {
  /**
   * append hex digit
   * 
   */
  public static void append(StringBuffer buf, byte b, int base) {
    int bi = 0xff & b;
    int c = '0' + (bi / base) % base;
    if (c > '9')
      c = 'a' + (c - '0' - 10);
    buf.append((char) c);
    c = '0' + bi % base;
    if (c > '9')
      c = 'a' + (c - '0' - 10);
    buf.append((char) c);
  }
  /* ------------------------------------------------------------ */
  public static void append2digits(StringBuffer buf, int i) {
    if (i < 100) {
      buf.append((char) (i / 10 + '0'));
      buf.append((char) (i % 10 + '0'));
    }
  }
}