org.apache.derby.client.net
Class EbcdicCcsidManager
java.lang.Object
org.apache.derby.client.net.CcsidManager
org.apache.derby.client.net.EbcdicCcsidManager
public class EbcdicCcsidManager
- extends CcsidManager
A concrete implementation of a CcsidMgr used to convert between Java UCS2 and Ebcdic as needed to handle character
DDM Parameters. This implementation only supports converting from the ASCII invariant of UNICODE to Ebcdic. This
should be fine since this class is intended for converting DDM Parameter data only.
|
Method Summary |
byte[] |
convertFromJavaString(java.lang.String sourceString,
Agent agent)
|
(package private) java.lang.String |
convertToJavaString(byte[] sourceBytes,
int offset,
int numToConvert)
|
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. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
conversionArrayToEbcdic
private static final int[] conversionArrayToEbcdic
conversionArrayToUCS2
private static final int[] conversionArrayToUCS2
EbcdicCcsidManager
public EbcdicCcsidManager()
convertFromJavaString
public byte[] convertFromJavaString(java.lang.String sourceString,
Agent agent)
throws SqlException
- Specified by:
convertFromJavaString in class CcsidManager
- Throws:
SqlException
startEncoding
public void startEncoding()
- Description copied from class:
CcsidManager
- Initialize this instance for encoding a new string. This method resets
any internal state that may be left after earlier calls to
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.
- Specified by:
startEncoding in class CcsidManager
encode
public boolean encode(java.nio.CharBuffer src,
java.nio.ByteBuffer dest,
Agent agent)
throws SqlException
- Description copied from class:
CcsidManager
- 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.
- Specified by:
encode in class CcsidManager
- Parameters:
src - buffer holding the characters to encodedest - buffer receiving the encoded bytesagent - 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
convertToJavaString
java.lang.String convertToJavaString(byte[] sourceBytes,
int offset,
int numToConvert)
- Specified by:
convertToJavaString in class CcsidManager
Apache Derby V10.10 Internals - Copyright © 2004,2013 The Apache Software Foundation. All Rights Reserved.