Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.ibm.jzos
Class Transcoder

    java.lang.Object
      com.ibm.jzos.Transcoder

    public class Transcoder

extends java.lang.Object

This class provides conversions from a source Charset (Codepage) to a target Charset. A byte array encoded in the source Charset is accepted as input. These bytes are decoded to unicode with the source Charset decoder. The resulting CharBuffer is written to the supplied outputStream through an OutputStreamWriter encoded with the target Charset.

This class is not threadsafe; the decoder and ByteBuffer used for processing the input are stateful. This is due to the fact that the source byte array may be encoded with a multi-byte Charset (e.g. UTF-8), and a call to translate() may deliver a byte array that has an incomplete byte sequence. Subsequent call(s) to translate() are expected to deliver the remaining bytes in the sequence. Once these bytes arrive, the incomplete sequence can be decoded. A direct ByteBuffer is used (rather than wrapping the input byte array) so that the incomplete byte sequence can be preserved between calls.

The errorActions taken for both the decoder and encoder are CodingErrorAction.REPLACE. The default replacement will be used, but can be overridden.

Constructor Summary
`Transcoder(java.lang.String sourceEncoding, java.lang.String targetEncoding, java.io.OutputStream outputStream)` Construct an instnace
`Transcoder(java.lang.String sourceEncoding, java.lang.String targetEncoding, java.io.OutputStream outputStream, int byteBufferSize, int charBufferSize, boolean autoFlush)` Construct an instance

Method Summary
`void` | `flush()` Flush the output encoding writer
`java.nio.charset.CharsetDecoder` | `getDecoder()` Return the CharsetDecoder that is in use by this Transcoder.
`java.nio.charset.CharsetEncoder` | `getEncoder()` Return the CharsetEncoder that is in use by this Transcoder.
`java.nio.charset.Charset` | `getSourceCharset()` Answer the source CharSet
`java.nio.charset.Charset` | `getTargetCharset()` Answer the target Charset
`boolean` | `isAutoFlush()` Answer true if autoFlush is enabled
`void` | `reset()` Rest the encoding state
`void` | `setAutoFlush(boolean autoFlush)` Enable or disable autoflush
`void` | `translate(byte[] bytes)` Transcode a byte array
`void` | `translate(byte[] bytes, int offset, int length)` Transcode a byte array at a given offset and length

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Transcoder

    public Transcoder(java.lang.String sourceEncoding,
                      java.lang.String targetEncoding,
                      java.io.OutputStream outputStream)
               throws java.nio.charset.UnsupportedCharsetException

  Construct an instnace

  Parameters:
    `sourceEncoding` - the source codepage name
    `targetEncoding` - the target codepage name
    `outputStream` - the target OutputStream
  Throws:
    `java.nio.charset.UnsupportedCharsetException`

### Transcoder

    public Transcoder(java.lang.String sourceEncoding,
                      java.lang.String targetEncoding,
                      java.io.OutputStream outputStream,
                      int byteBufferSize,
                      int charBufferSize,
                      boolean autoFlush)
               throws java.nio.charset.UnsupportedCharsetException

  Construct an instance

  Parameters:
    `sourceEncoding` - the source codepage name
    `targetEncoding` - the target codepage name
    `outputStream` - the target OutputStream
    `byteBufferSize` - the byte/input buffer size
    `charBufferSize` - the character/output buffersize
    `autoFlush` - if true, autoflush the output stream
  Throws:
    `java.nio.charset.UnsupportedCharsetException`

Method Detail

### translate

    public void translate(byte[] bytes)
                   throws java.io.IOException

  Transcode a byte array

  Throws:
    `java.io.IOException`

### translate

    public void translate(byte[] bytes,
                          int offset,
                          int length)
                   throws java.io.IOException

  Transcode a byte array at a given offset and length

  Throws:
    `java.io.IOException`

### getDecoder

    public java.nio.charset.CharsetDecoder getDecoder()

  Return the CharsetDecoder that is in use by this Transcoder. Access is provided so that the CodingErrorActions can be changed or a new unicode replacement string supplied. By default, the decoder REPLACEs malformed input and unmappable bytes with the its default replacement string.

### getEncoder

    public java.nio.charset.CharsetEncoder getEncoder()

  Return the CharsetEncoder that is in use by this Transcoder. Access is provided so that the CodingErrorActions can be changed or a new replacement byte sequence supplied. By default, the encoder REPLACEs malformed input and unmappable characters with the its default replacement byte sequence.

### flush

    public void flush()
               throws java.io.IOException

  Flush the output encoding writer

  Throws:
    `java.io.IOException`

### reset

    public void reset()
               throws java.io.IOException

  Rest the encoding state

  Throws:
    `java.io.IOException`

### isAutoFlush

    public boolean isAutoFlush()

  Answer true if autoFlush is enabled

### setAutoFlush

    public void setAutoFlush(boolean autoFlush)

  Enable or disable autoflush

### getSourceCharset

    public java.nio.charset.Charset getSourceCharset()

  Answer the source CharSet

### getTargetCharset

    public java.nio.charset.Charset getTargetCharset()

  Answer the target Charset

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD