diff options
Diffstat (limited to 'netx/net/sourceforge/jnlp/tools/HexDumpEncoder.java')
-rw-r--r-- | netx/net/sourceforge/jnlp/tools/HexDumpEncoder.java | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/netx/net/sourceforge/jnlp/tools/HexDumpEncoder.java b/netx/net/sourceforge/jnlp/tools/HexDumpEncoder.java deleted file mode 100644 index 7b6b242..0000000 --- a/netx/net/sourceforge/jnlp/tools/HexDumpEncoder.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright 1995-1997 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package net.sourceforge.jnlp.tools; - -import java.io.PrintStream; -import java.io.OutputStream; -import java.io.IOException; - -/** - * This class encodes a buffer into the classic: "Hexadecimal Dump" format of - * the past. It is useful for analyzing the contents of binary buffers. - * The format produced is as follows: - * <pre> - * xxxx: 00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff ................ - * </pre> - * Where xxxx is the offset into the buffer in 16 byte chunks, followed - * by ascii coded hexadecimal bytes followed by the ASCII representation of - * the bytes or '.' if they are not valid bytes. - * - * @author Chuck McManis - */ - -public class HexDumpEncoder extends CharacterEncoder { - - private int offset; - private int thisLineLength; - private int currentByte; - private byte thisLine[] = new byte[16]; - - static void hexDigit(PrintStream p, byte x) { - char c; - - c = (char) ((x >> 4) & 0xf); - if (c > 9) - c = (char) ((c - 10) + 'A'); - else - c = (char) (c + '0'); - p.write(c); - c = (char) (x & 0xf); - if (c > 9) - c = (char) ((c - 10) + 'A'); - else - c = (char) (c + '0'); - p.write(c); - } - - protected int bytesPerAtom() { - return (1); - } - - protected int bytesPerLine() { - return (16); - } - - protected void encodeBufferPrefix(OutputStream o) throws IOException { - offset = 0; - super.encodeBufferPrefix(o); - } - - protected void encodeLinePrefix(OutputStream o, int len) throws IOException { - hexDigit(pStream, (byte) ((offset >>> 8) & 0xff)); - hexDigit(pStream, (byte) (offset & 0xff)); - pStream.print(": "); - currentByte = 0; - thisLineLength = len; - } - - protected void encodeAtom(OutputStream o, byte buf[], int off, int len) throws IOException { - thisLine[currentByte] = buf[off]; - hexDigit(pStream, buf[off]); - pStream.print(" "); - currentByte++; - if (currentByte == 8) - pStream.print(" "); - } - - protected void encodeLineSuffix(OutputStream o) throws IOException { - if (thisLineLength < 16) { - for (int i = thisLineLength; i < 16; i++) { - pStream.print(" "); - if (i == 7) - pStream.print(" "); - } - } - pStream.print(" "); - for (int i = 0; i < thisLineLength; i++) { - if ((thisLine[i] < ' ') || (thisLine[i] > 'z')) { - pStream.print("."); - } else { - pStream.write(thisLine[i]); - } - } - pStream.println(); - offset += thisLineLength; - } - -} |