org.apache.commons.io
Class ByteOrderMark

java.lang.Object
  extended by org.apache.commons.io.ByteOrderMark
All Implemented Interfaces:
java.io.Serializable

public class ByteOrderMark
extends java.lang.Object
implements java.io.Serializable

Byte Order Mark (BOM) representation - see BOMInputStream.

Since:
2.0
Version:
$Id: ByteOrderMark.java 1347571 2012-06-07 11:13:53Z sebb $
See Also:
BOMInputStream, Wikipedia: Byte Order Mark, W3C: Autodetection of Character Encodings (Non-Normative), Serialized Form

Field Summary
private  int[] bytes
           
private  java.lang.String charsetName
           
private static long serialVersionUID
           
static ByteOrderMark UTF_16BE
          UTF-16BE BOM (Big-Endian)
static ByteOrderMark UTF_16LE
          UTF-16LE BOM (Little-Endian)
static ByteOrderMark UTF_32BE
          UTF-32BE BOM (Big-Endian)
static ByteOrderMark UTF_32LE
          UTF-32LE BOM (Little-Endian)
static ByteOrderMark UTF_8
          UTF-8 BOM
 
Constructor Summary
ByteOrderMark(java.lang.String charsetName, int... bytes)
          Construct a new BOM.
 
Method Summary
 boolean equals(java.lang.Object obj)
          Indicates if this BOM's bytes equals another.
 int get(int pos)
          The byte at the specified position.
 byte[] getBytes()
          Return a copy of the BOM's bytes.
 java.lang.String getCharsetName()
          Return the name of the Charset the BOM represents.
 int hashCode()
          Return the hashcode for this BOM.
 int length()
          Return the length of the BOM's bytes.
 java.lang.String toString()
          Provide a String representation of the BOM.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

UTF_8

public static final ByteOrderMark UTF_8
UTF-8 BOM


UTF_16BE

public static final ByteOrderMark UTF_16BE
UTF-16BE BOM (Big-Endian)


UTF_16LE

public static final ByteOrderMark UTF_16LE
UTF-16LE BOM (Little-Endian)


UTF_32BE

public static final ByteOrderMark UTF_32BE
UTF-32BE BOM (Big-Endian)

Since:
2.2

UTF_32LE

public static final ByteOrderMark UTF_32LE
UTF-32LE BOM (Little-Endian)

Since:
2.2

charsetName

private final java.lang.String charsetName

bytes

private final int[] bytes
Constructor Detail

ByteOrderMark

public ByteOrderMark(java.lang.String charsetName,
                     int... bytes)
Construct a new BOM.

Parameters:
charsetName - The name of the charset the BOM represents
bytes - The BOM's bytes
Throws:
java.lang.IllegalArgumentException - if the charsetName is null or zero length
java.lang.IllegalArgumentException - if the bytes are null or zero length
Method Detail

getCharsetName

public java.lang.String getCharsetName()
Return the name of the Charset the BOM represents.

Returns:
the character set name

length

public int length()
Return the length of the BOM's bytes.

Returns:
the length of the BOM's bytes

get

public int get(int pos)
The byte at the specified position.

Parameters:
pos - The position
Returns:
The specified byte

getBytes

public byte[] getBytes()
Return a copy of the BOM's bytes.

Returns:
a copy of the BOM's bytes

equals

public boolean equals(java.lang.Object obj)
Indicates if this BOM's bytes equals another.

Overrides:
equals in class java.lang.Object
Parameters:
obj - The object to compare to
Returns:
true if the bom's bytes are equal, otherwise false

hashCode

public int hashCode()
Return the hashcode for this BOM.

Overrides:
hashCode in class java.lang.Object
Returns:
the hashcode for this BOM.
See Also:
Object.hashCode()

toString

public java.lang.String toString()
Provide a String representation of the BOM.

Overrides:
toString in class java.lang.Object
Returns:
the length of the BOM's bytes


Copyright (c) 2002-2013 Apache Software Foundation