com.jpeterson.util
Class HexFormat

java.lang.Object
  |
  +--java.text.Format
        |
        +--com.jpeterson.util.HexFormat

public class HexFormat
extends java.text.Format

This class allows a number to be easily formatted as a hexadecimal number. The representation uses 0-f.

See Also:
Serialized Form

Constructor Summary
HexFormat()
          Create a new HexFormat object.
 
Method Summary
 java.lang.String format(byte number)
          Format a byte, returning an 8 bit hex number.
 java.lang.String format(byte[] number)
          Format an array of bytes, returning 8 bits per byte.
 java.lang.StringBuffer format(byte[] number, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
          Format an array of bytes, returning 8 bits per bytes.
 java.lang.StringBuffer format(byte number, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
          Format a byte, returning an 8 bit hex number.
 java.lang.String format(int number)
          Format an int value, returning a 32 bit hexadecimal number.
 java.lang.StringBuffer format(int number, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
          Format an int value, returning a 32 bit hexadecimal number.
 java.lang.String format(long number)
          Format a long value, returning a 64 bit hexadecimal number.
 java.lang.StringBuffer format(long number, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
          Format a long value, returning a 64 bit hexadecimal number.
 java.lang.StringBuffer format(java.lang.Object number, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
          Format an object in a hexadecimal representation.
 java.lang.String format(short number)
          Format a short value, returning a 16 bit hexadecimal number.
 java.lang.StringBuffer format(short number, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
          Format a short value, returning a 16 bit hexadecimal number.
 boolean getUpperCase()
          Get upper case mode for alpha characters.
 boolean isLowerCase()
          Is lower case mode for alpha characters in affect?
 boolean isUpperCase()
          Is upper case mode for alpha characters in affect?
static void main(java.lang.String[] args)
           
 java.lang.Number parse(java.lang.String source)
          Parse a hex number into a Number object.
 java.lang.Number parse(java.lang.String text, java.text.ParsePosition parsePosition)
          Parse a hex number into a Number object.
 java.lang.Object parseObject(java.lang.String source, java.text.ParsePosition status)
          Parse a hexadecimal number, skipping leading whitespace.
 void setUpperCase(boolean upperCase)
          Set upper case mode for alpha characters.
 
Methods inherited from class java.text.Format
clone, format, parseObject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HexFormat

public HexFormat()
Create a new HexFormat object. By default the lower case letters 'a'-'f' are used.
Since:
1.0
Method Detail

format

public java.lang.StringBuffer format(java.lang.Object number,
                                     java.lang.StringBuffer toAppendTo,
                                     java.text.FieldPosition pos)
Format an object in a hexadecimal representation. The object number must be an integer Number; Byte, Short, Integer, or Long. If the parameter number is not one of these, this method will throw a IllegalArgumentException.
Overrides:
format in class java.text.Format
Parameters:
number - the number to format
toAppendTo - where the text is to be appended
pos - not used
Returns:
the formatted hex number
Since:
1.0

format

public final java.lang.String format(byte number)
Format a byte, returning an 8 bit hex number. (2 digits, with leading zeros)
Parameters:
number - the byte to format
Returns:
the formatted hex number
Since:
1.0

format

public java.lang.StringBuffer format(byte number,
                                     java.lang.StringBuffer toAppendTo,
                                     java.text.FieldPosition pos)
Format a byte, returning an 8 bit hex number. (2 digits, with leading zeros)
Parameters:
number - the number to format
toAppendTo - where the text is to be appended
pos - not used
Returns:
the formatted binary number

format

public final java.lang.String format(byte[] number)
Format an array of bytes, returning 8 bits per byte. (2 digits with leading zeros, per byte) The byte at index zero is the most significant byte, making it possible to enter a stream of bytes received from a serial connection very easily.
Parameters:
number - the bytes to format
Returns:
the formatted binary number
Since:
1.0

format

public java.lang.StringBuffer format(byte[] number,
                                     java.lang.StringBuffer toAppendTo,
                                     java.text.FieldPosition pos)
Format an array of bytes, returning 8 bits per bytes. (2 digits with leading zeros, per byte) The byte at index zero is the most significant byte, making it possible to enter a stream of bytes received from a serial connection very easily.
Parameters:
number - the number to format
toAppendTo - where the text is to be appended
pos - not used
Returns:
the formatted binary number
Since:
1.0

format

public java.lang.String format(short number)
Format a short value, returning a 16 bit hexadecimal number. (4 digits with leading zeros)
Parameters:
number - the short to format
Returns:
the formatted binary number
Since:
1.0

format

public java.lang.StringBuffer format(short number,
                                     java.lang.StringBuffer toAppendTo,
                                     java.text.FieldPosition pos)
Format a short value, returning a 16 bit hexadecimal number. (4 digits with leading zeros)
Parameters:
number - the number to format
toAppendTo - where the text is to be appended
pos - not used
Returns:
the formatted binary number
Since:
1.0

format

public java.lang.String format(int number)
Format an int value, returning a 32 bit hexadecimal number. (8 digits with leading zeros)
Parameters:
number - the int to format
Returns:
the formatted binary number
Since:
1.0

format

public java.lang.StringBuffer format(int number,
                                     java.lang.StringBuffer toAppendTo,
                                     java.text.FieldPosition pos)
Format an int value, returning a 32 bit hexadecimal number. (8 digits with leading zeros)
Parameters:
number - the number to format
toAppendTo - where the text is to be appended
pos - not used
Returns:
the formatted binary number
Since:
1.0

format

public java.lang.String format(long number)
Format a long value, returning a 64 bit hexadecimal number. (16 digits with leading zeros)
Parameters:
number - the long to format
Returns:
the formatted binary number
Since:
1.0

format

public java.lang.StringBuffer format(long number,
                                     java.lang.StringBuffer toAppendTo,
                                     java.text.FieldPosition pos)
Format a long value, returning a 64 bit hexadecimal number. (16 digits with leading zeros)
Parameters:
number - the number to format
toAppendTo - where the text is to be appended
pos - not used
Returns:
the formatted binary number
Since:
1.0

parse

public java.lang.Number parse(java.lang.String source)
                       throws java.text.ParseException
Parse a hex number into a Number object. Hexadecimal numbers may be indicated with a leading character designation of '0x'. If up to 1 byte is parsed, returns a Byte. If more than 1 and up to 2 bytes are parsed, return a Short. If more than 2 and up to 4 bytes are parsed, return an Integer. If more than 4 and up to 8 bytes are parsed, return a Long.
Parameters:
source - a binary number
Returns:
return an integer form of Number object if parse is successful
Throws:
java.text.ParseException - thrown if source is cannot be converted to a Byte, Short, Int, or Long.
Since:
1.0

parse

public java.lang.Number parse(java.lang.String text,
                              java.text.ParsePosition parsePosition)
Parse a hex number into a Number object. Hexadecimal numbers may be indicated with a leading character designation of '0x'. If up to 1 byte is parsed, returns a Byte. If more than 1 and up to 2 bytes are parsed, return a Short. If more than 2 and up to 4 bytes are parsed, return an Integer. If more than 4 and up to 8 bytes are parsed, return a Long.
Parameters:
text - a hexadecimal number
parsePosition - position to start parsing from
Returns:
return an integer form of Number object if parse is successful; null otherwise
Since:
1.0

parseObject

public java.lang.Object parseObject(java.lang.String source,
                                    java.text.ParsePosition status)
Parse a hexadecimal number, skipping leading whitespace. Does not throw an exception; if no object can be parsed, index is unchanged! Hexadecimal numbers may be indicated with a leading character designation of '0x'.
Overrides:
parseObject in class java.text.Format
Parameters:
source - the string to parse
status - the string index to start at
Returns:
The hexadecimal number as a Long object.
Since:
1.0

setUpperCase

public void setUpperCase(boolean upperCase)
Set upper case mode for alpha characters.
Parameters:
upperCase - true if upper case alpha characters should be used; false otherwise
Since:
1.0
See Also:
getUpperCase, isUpperCase, isLowerCase

getUpperCase

public boolean getUpperCase()
Get upper case mode for alpha characters.
Returns:
true if upper case alpha characters should be used; false otherwise
Since:
1.0
See Also:
setUpperCase, isUpperCase, isLowerCase

isUpperCase

public boolean isUpperCase()
Is upper case mode for alpha characters in affect?
Returns:
true if upper case alpha characters should be used; false otherwise
Since:
1.0
See Also:
setUpperCase, getUpperCase, isLowerCase

isLowerCase

public boolean isLowerCase()
Is lower case mode for alpha characters in affect?
Returns:
true if lower case alpha characters should be used; false otherwise
Since:
1.0
See Also:
setUpperCase, getUpperCase, isUpperCase

main

public static void main(java.lang.String[] args)