Class CcsidManager

java.lang.Object
org.apache.derby.client.net.CcsidManager
Direct Known Subclasses:
EbcdicCcsidManager, Utf8CcsidManager

abstract class CcsidManager extends Object
  • Field Details

    • space_

      byte space_
    • dot_

      byte dot_
    • numToCharRepresentation_

      byte[] numToCharRepresentation_
    • numToSnaRequiredCrrtknChar_

      byte[] numToSnaRequiredCrrtknChar_
    • UTF8_CCSID

      static final int UTF8_CCSID
      See Also:
  • Constructor Details

    • CcsidManager

      CcsidManager(byte space, byte dot, byte[] numToCharRepresentation, byte[] numToSnaRequiredCrrtknChar)
  • Method Details

    • convertFromJavaString

      public abstract byte[] convertFromJavaString(String sourceString, Agent agent) throws SqlException
      Throws:
      SqlException
    • convertToJavaString

      abstract String convertToJavaString(byte[] sourceBytes, int offset, int numToConvert)
    • startEncoding

      public abstract void startEncoding()
      Initialize this instance for encoding a new string. This method resets any internal state that may be left after earlier calls to encode(java.nio.CharBuffer, java.nio.ByteBuffer, org.apache.derby.client.am.Agent) on this instance. For example, it may reset the internal java.nio.charset.CharsetEncoder, if the implementation uses one to do the encoding.
    • encode

      public abstract boolean encode(CharBuffer src, ByteBuffer dest, Agent agent) throws SqlException
      Encode the contents of a CharBuffer into a ByteBuffer. The method will return true if all the characters were encoded and copied to the destination. If the receiving byte buffer is too small to hold the entire encoded representation of the character buffer, the method will return false. The caller should then allocate a larger byte buffer, copy the contents from the old byte buffer to the new one, and then call this method again to get the remaining characters encoded.
      Parameters:
      src - buffer holding the characters to encode
      dest - buffer receiving the encoded bytes
      agent - where to report errors
      Returns:
      true if all characters were encoded, false if the destination buffer is full and there still are more characters to encode
      Throws:
      SqlException - if the characters cannot be encoded using this CCSID manager's character encoding