java.nio.charset
Class Charset

java.lang.Object
  extended by java.nio.charset.Charset
All Implemented Interfaces:
Comparable<Charset>

public abstract class Charset
extends Object
implements Comparable<Charset>

Since:
1.4

Constructor Summary
protected Charset(String canonicalName, String[] aliases)
           
 
Method Summary
 Set<String> aliases()
           
static SortedMap<String,Charset> availableCharsets()
           
 boolean canEncode()
           
 int compareTo(Charset other)
          Compares this object with another, and returns a numerical result based on the comparison.
abstract  boolean contains(Charset cs)
           
 CharBuffer decode(ByteBuffer bb)
           
static Charset defaultCharset()
          Returns the system default charset.
 String displayName()
           
 String displayName(Locale locale)
           
 ByteBuffer encode(CharBuffer cb)
           
 ByteBuffer encode(String str)
           
 boolean equals(Object ob)
          Determine whether this Object is semantically equal to another Object.
static Charset forName(String charsetName)
          Returns the Charset instance for the charset of the given name.
 int hashCode()
          Get a value that represents this Object, as uniquely as possible within the confines of an int.
 boolean isRegistered()
           
static boolean isSupported(String charsetName)
           
 String name()
           
abstract  CharsetDecoder newDecoder()
           
abstract  CharsetEncoder newEncoder()
           
 String toString()
          Convert this Object to a human-readable String.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Charset

protected Charset(String canonicalName,
                  String[] aliases)
Method Detail

defaultCharset

public static Charset defaultCharset()
Returns the system default charset. This may be set by the user or VM with the file.encoding property.

Since:
1.5

isSupported

public static boolean isSupported(String charsetName)

forName

public static Charset forName(String charsetName)
Returns the Charset instance for the charset of the given name.

Parameters:
charsetName -
Returns:
the Charset instance for the indicated charset
Throws:
UnsupportedCharsetException - if this VM does not support the charset of the given name.
IllegalCharsetNameException - if the given charset name is legal.
IllegalArgumentException - if charsetName is null.

availableCharsets

public static SortedMap<String,Charset> availableCharsets()

name

public final String name()

aliases

public final Set<String> aliases()

displayName

public String displayName()

displayName

public String displayName(Locale locale)

isRegistered

public final boolean isRegistered()

contains

public abstract boolean contains(Charset cs)

newDecoder

public abstract CharsetDecoder newDecoder()

newEncoder

public abstract CharsetEncoder newEncoder()

canEncode

public boolean canEncode()

encode

public final ByteBuffer encode(CharBuffer cb)

encode

public final ByteBuffer encode(String str)

decode

public final CharBuffer decode(ByteBuffer bb)

compareTo

public final int compareTo(Charset other)
Description copied from interface: Comparable
Compares this object with another, and returns a numerical result based on the comparison. If the result is negative, this object sorts less than the other; if 0, the two are equal, and if positive, this object sorts greater than the other. To translate this into boolean, simply perform o1.compareTo(o2) <op> 0, where op is one of <, <=, =, !=, >, or >=.

You must make sure that the comparison is mutual, ie. sgn(x.compareTo(y)) == -sgn(y.compareTo(x)) (where sgn() is defined as -1, 0, or 1 based on the sign). This includes throwing an exception in either direction if the two are not comparable; hence, compareTo(null) should always throw an Exception.

You should also ensure transitivity, in two forms: x.compareTo(y) > 0 && y.compareTo(z) > 0 implies x.compareTo(z) > 0; and x.compareTo(y) == 0 implies x.compareTo(z) == y.compareTo(z).

Specified by:
compareTo in interface Comparable<Charset>
Parameters:
other - the object to be compared
Returns:
an integer describing the comparison

hashCode

public final int hashCode()
Description copied from class: Object
Get a value that represents this Object, as uniquely as possible within the confines of an int.

There are some requirements on this method which subclasses must follow:

Notice that since hashCode is used in Hashtable and other hashing classes, a poor implementation will degrade the performance of hashing (so don't blindly implement it as returning a constant!). Also, if calculating the hash is time-consuming, a class may consider caching the results.

The default implementation returns System.identityHashCode(this)

Overrides:
hashCode in class Object
Returns:
the hash code for this Object
See Also:
Object.equals(Object), System.identityHashCode(Object)

equals

public final boolean equals(Object ob)
Description copied from class: Object
Determine whether this Object is semantically equal to another Object.

There are some fairly strict requirements on this method which subclasses must follow:

This is typically overridden to throw a ClassCastException if the argument is not comparable to the class performing the comparison, but that is not a requirement. It is legal for a.equals(b) to be true even though a.getClass() != b.getClass(). Also, it is typical to never cause a NullPointerException.

In general, the Collections API (java.util) use the equals method rather than the == operator to compare objects. However, IdentityHashMap is an exception to this rule, for its own good reasons.

The default implementation returns this == o.

Overrides:
equals in class Object
Parameters:
ob - the Object to compare to
Returns:
whether this Object is semantically equal to another
See Also:
Object.hashCode()

toString

public final String toString()
Description copied from class: Object
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() and such.

It is typical, but not required, to ensure that this method never completes abruptly with a RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).

Overrides:
toString in class Object
Returns:
the String representing this Object, which may be null
See Also:
Object.getClass(), Object.hashCode(), Class.getName(), Integer.toHexString(int)