Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: juju/reattore/util/CharUtil.java


1   /*  Reattore HTTP Server
2   
3       Copyright (C) 2002 Michael Hope <michaelh@juju.net.nz>
4   
5       This program is free software; you can redistribute it and/or modify
6       it under the terms of the GNU General Public License as published by
7       the Free Software Foundation; either version 2 of the License, or
8       (at your option) any later version.
9   
10      This program is distributed in the hope that it will be useful,
11      but WITHOUT ANY WARRANTY; without even the implied warranty of
12      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13      GNU General Public License for more details.
14  
15      You should have received a copy of the GNU General Public License
16      along with this program; if not, write to the Free Software
17      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  
19      $Id: CharUtil.java,v 1.3 2003/03/03 05:14:39 michaelh Exp $
20  */
21  package juju.reattore.util;
22  
23  
24  /** Shared character utility methods.
25   */
26  public class CharUtil {
27      private static final int[] NIBBLES = new int[256];
28  
29      static {
30          for (int i = 0; i < 10; i++) {
31              NIBBLES['0' + i] = i;
32          }
33  
34          for (int i = 10; i < 16; i++) {
35              NIBBLES[('a' + i) - 10] = i;
36              NIBBLES[('A' + i) - 10] = i;
37          }
38      }
39  
40      /** Turns the given character into it's hex value using the HTTP
41          HEX rules.  Basically 0-9, a-f, A-F.
42  
43          @param val  A character
44          @return     It's nibble value, or 0 on invalid.
45      */
46      public static final int fromNibble(int val) {
47          return NIBBLES[val];
48      }
49  }