public class Utf8CcsidManager extends CcsidManager
Modifier and Type | Field | Description |
---|---|---|
private java.nio.charset.CharsetEncoder |
encoder |
|
private static java.lang.String |
UTF8 |
|
private static java.nio.charset.Charset |
UTF8_CHARSET |
dot_, numToCharRepresentation_, numToSnaRequiredCrrtknChar_, space_, UTF8_CCSID
Constructor | Description |
---|---|
Utf8CcsidManager() |
Modifier and Type | Method | Description |
---|---|---|
byte[] |
convertFromJavaString(java.lang.String sourceString,
Agent agent) |
|
java.lang.String |
convertToJavaString(byte[] sourceBytes,
int offset,
int numToConvert) |
Offset and numToConvert are given in terms of bytes!
|
boolean |
encode(java.nio.CharBuffer src,
java.nio.ByteBuffer dest,
Agent agent) |
Encode the contents of a
CharBuffer into a ByteBuffer . |
void |
startEncoding() |
Initialize this instance for encoding a new string.
|
private static final java.lang.String UTF8
private static final java.nio.charset.Charset UTF8_CHARSET
private final java.nio.charset.CharsetEncoder encoder
public byte[] convertFromJavaString(java.lang.String sourceString, Agent agent) throws SqlException
convertFromJavaString
in class CcsidManager
SqlException
public java.lang.String convertToJavaString(byte[] sourceBytes, int offset, int numToConvert)
convertToJavaString
in class CcsidManager
public void startEncoding()
CcsidManager
CcsidManager.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.startEncoding
in class CcsidManager
public boolean encode(java.nio.CharBuffer src, java.nio.ByteBuffer dest, Agent agent) throws SqlException
CcsidManager
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.encode
in class CcsidManager
src
- buffer holding the characters to encodedest
- buffer receiving the encoded bytesagent
- where to report errorstrue
if all characters were encoded, false
if
the destination buffer is full and there still are more characters to
encodeSqlException
- if the characters cannot be encoded using this
CCSID manager's character encodingApache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.