Class CharsetInfo

java.lang.Object
net.sourceforge.jtds.jdbc.CharsetInfo

public final class CharsetInfo extends Object
Loads and stores information about character sets. Static fields and methods are concerned with loading, storing and retrieval of all character set information, while non-static fields and methods describe a particular character set (Java charset name and whether it's a multi-byte charset).

Note: Only one CharsetInfo instance exists per charset. This allows simple equality comparisons between instances retrieved with any of the get methods.

Version:
$Id: CharsetInfo.java,v 1.5 2007-07-08 17:28:23 bheineman Exp $
Author:
Alin Sinpalean
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final String
    The Java character set name.
    private static final HashMap
    Server charset to Java charset map.
    private static final String
    Name of the Charsets.properties resource.
    private static final HashMap
    Locale id to Java charset map.
    private static final CharsetInfo[]
    Sort order to Java charset map.
    private final boolean
    Indicates whether current charset is wide (ie multi-byte).
  • Constructor Summary

    Constructors
    Constructor
    Description
    CharsetInfo(String descriptor)
    Constructs a CharsetInfo object from a character set descriptor of the form: charset preceded by a numeric value indicating whether it's a multibyte character set (>1) or not (1) and a vertical bar (|), eg "1|Cp1252" or "2|MS936".
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    Retrieves the charset name.
    getCharset(byte[] collation)
    Retrieves the CharsetInfo instance asociated with the specified collation.
    getCharset(String serverCharset)
    Retrieves the CharsetInfo instance asociated with the specified server charset.
    Retrieves the CharsetInfo instance asociated with the specified LCID.
    getCharsetForSortOrder(int sortOrder)
    Retrieves the CharsetInfo instance asociated with the specified sort order.
    int
     
    boolean
    Retrieves whether the caracter set is wide (ie multi-byte).
     

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • CHARSETS_RESOURCE_NAME

      private static final String CHARSETS_RESOURCE_NAME
      Name of the Charsets.properties resource.
      See Also:
    • charsets

      private static final HashMap charsets
      Server charset to Java charset map.
    • lcidToCharsetMap

      private static final HashMap lcidToCharsetMap
      Locale id to Java charset map.
    • sortToCharsetMap

      private static final CharsetInfo[] sortToCharsetMap
      Sort order to Java charset map.
    • charset

      private final String charset
      The Java character set name.
    • wideChars

      private final boolean wideChars
      Indicates whether current charset is wide (ie multi-byte).
  • Constructor Details

    • CharsetInfo

      public CharsetInfo(String descriptor)
      Constructs a CharsetInfo object from a character set descriptor of the form: charset preceded by a numeric value indicating whether it's a multibyte character set (>1) or not (1) and a vertical bar (|), eg "1|Cp1252" or "2|MS936".
      Parameters:
      descriptor - the charset descriptor
  • Method Details

    • getCharset

      public static CharsetInfo getCharset(String serverCharset)
      Retrieves the CharsetInfo instance asociated with the specified server charset.
      Parameters:
      serverCharset - the server-specific character set name
      Returns:
      the associated CharsetInfo
    • getCharsetForLCID

      public static CharsetInfo getCharsetForLCID(int lcid)
      Retrieves the CharsetInfo instance asociated with the specified LCID.
      Parameters:
      lcid - the server LCID
      Returns:
      the associated CharsetInfo
    • getCharsetForSortOrder

      public static CharsetInfo getCharsetForSortOrder(int sortOrder)
      Retrieves the CharsetInfo instance asociated with the specified sort order.
      Parameters:
      sortOrder - the server sort order
      Returns:
      the associated CharsetInfo
    • getCharset

      public static CharsetInfo getCharset(byte[] collation) throws SQLException
      Retrieves the CharsetInfo instance asociated with the specified collation.
      Parameters:
      collation - the server LCID
      Returns:
      the associated CharsetInfo
      Throws:
      SQLException
    • getCharset

      public String getCharset()
      Retrieves the charset name.
    • isWideChars

      public boolean isWideChars()
      Retrieves whether the caracter set is wide (ie multi-byte).
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object