|
What this is
Other links
The source code/* ** Copyright (c) 1997 by Timothy Gerard Endres ** ** This program is free software. ** ** You may redistribute it and/or modify it under the terms of the GNU ** General Public License as published by the Free Software Foundation. ** Version 2 of the license should be included with this distribution in ** the file LICENSE, as well as License.html. If the license is not ** included with this distribution, you may find a copy at the FSF web ** site at 'www.gnu.org' or 'www.fsf.org', or you may write to the ** Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139 USA. ** ** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, ** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR ** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY ** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR ** REDISTRIBUTION OF THIS SOFTWARE. ** */ package com.ice.text; import java.lang.*; import java.text.*; import java.util.*; /** * The HexNumberFormat class implements the code necessary * to format and parse Hexidecimal integer numbers. * * @version $Revision: 1.1.1.1 $ * @author Timothy Gerard Endres, <a href="mailto:time@ice.com">time@ice.com. * @see java.text.NumberFormat */ public class HexNumberFormat extends Format { static public final String RCS_ID = "$Id: HexNumberFormat.java,v 1.1.1.1 1998/02/22 06:01:37 time Exp $"; static public final String RCS_REV = "$Revision: 1.1.1.1 $"; private static char[] lowChars; private static char[] uprChars; private int count; private String pattern; private static char[] hexChars; static { HexNumberFormat.lowChars = new char[20]; HexNumberFormat.uprChars = new char[20]; HexNumberFormat.uprChars[0] = HexNumberFormat.lowChars[0] = '0'; HexNumberFormat.uprChars[1] = HexNumberFormat.lowChars[1] = '1'; HexNumberFormat.uprChars[2] = HexNumberFormat.lowChars[2] = '2'; HexNumberFormat.uprChars[3] = HexNumberFormat.lowChars[3] = '3'; HexNumberFormat.uprChars[4] = HexNumberFormat.lowChars[4] = '4'; HexNumberFormat.uprChars[5] = HexNumberFormat.lowChars[5] = '5'; HexNumberFormat.uprChars[6] = HexNumberFormat.lowChars[6] = '6'; HexNumberFormat.uprChars[7] = HexNumberFormat.lowChars[7] = '7'; HexNumberFormat.uprChars[8] = HexNumberFormat.lowChars[8] = '8'; HexNumberFormat.uprChars[9] = HexNumberFormat.lowChars[9] = '9'; HexNumberFormat.uprChars[10] = 'A'; HexNumberFormat.lowChars[10] = 'a'; HexNumberFormat.uprChars[11] = 'B'; HexNumberFormat.lowChars[11] = 'b'; HexNumberFormat.uprChars[12] = 'C'; HexNumberFormat.lowChars[12] = 'c'; HexNumberFormat.uprChars[13] = 'D'; HexNumberFormat.lowChars[13] = 'd'; HexNumberFormat.uprChars[14] = 'E'; HexNumberFormat.lowChars[14] = 'e'; HexNumberFormat.uprChars[15] = 'F'; HexNumberFormat.lowChars[15] = 'f'; } static public final HexNumberFormat getInstance() { return new HexNumberFormat( "XXXXXXXX" ); } public HexNumberFormat( String pattern ) { super(); this.pattern = pattern; this.count = pattern.length(); this.hexChars = ( pattern.charAt(0) == 'X' ? HexNumberFormat.uprChars : HexNumberFormat.lowChars ); } public String format( int hexNum ) throws IllegalArgumentException { FieldPosition pos = new FieldPosition(0); StringBuffer hexBuf = new StringBuffer(8); this.format( new Integer( hexNum ), hexBuf, pos ); return hexBuf.toString(); } public StringBuffer format( Object hexInt, StringBuffer appendTo, FieldPosition fieldPos ) throws IllegalArgumentException { char[] hexBuf = new char[16]; int end = fieldPos.getEndIndex(); int beg = fieldPos.getBeginIndex(); int hexNum = ((Integer) hexInt).intValue(); for ( int i = 7 ; i >= 0 ; --i ) { hexBuf[i] = this.hexChars[ (hexNum & 0x0F) ]; hexNum = hexNum >> 4; } for ( int i = (8 - this.count) ; i < 8 ; ++i ) { appendTo.append( hexBuf[i] ); } return appendTo; } public int parse( String source ) throws ParseException { throw new ParseException( "unimplemented!", 0 ); } public Object parseObject( String source, ParsePosition pos ) { return null; } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.