com.ibm.as400.access
Class ConvTableWriter

java.lang.Object
  |
  +--java.io.Writer
        |
        +--java.io.OutputStreamWriter
              |
              +--com.ibm.as400.access.ConvTableWriter

public class ConvTableWriter
extends java.io.OutputStreamWriter

A ConvTableWriter represents a Toolbox converter that uses stateful character conversion. That is, it wraps an underlying OutputStream and caches/writes the appropriate number of bytes for the given Unicode characters and CCSID/encoding. This class exists primarily for the use of the IFSText classes, but other components are free to use it as well.

See Also:
ConvTableReader

Fields inherited from class java.io.Writer
lock
 
Constructor Summary
ConvTableWriter(java.io.OutputStream out)
          Creates a ConvTableWriter that uses the default character encoding.
ConvTableWriter(java.io.OutputStream out, int ccsid)
          Creates a ConvTableWriter that uses the specified CCSID.
ConvTableWriter(java.io.OutputStream out, int ccsid, int bidiStringType)
          Creates a ConvTableWriter that uses the specified CCSID and bi-directional string type.
ConvTableWriter(java.io.OutputStream out, java.lang.String encoding)
          Creates a ConvTableWriter that uses the specified character encoding.
 
Method Summary
 void close()
          Closes this ConvTableWriter and its underlying output stream.
 void flush()
          Flushes the underlying output stream.
 int getCcsid()
          Returns the CCSID used by this ConvTableWriter.
 java.lang.String getEncoding()
          Returns the encoding used by this ConvTableWriter.
 void write(char[] buffer)
          Writes the specified array of characters.
 void write(char[] buffer, int offset, int length)
          Writes a portion of the specified array of characters.
 void write(int c)
          Writes a single character.
 void write(java.lang.String data)
          Writes the specified String.
 void write(java.lang.String data, int offset, int length)
          Writes a portion of the specified String.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConvTableWriter

public ConvTableWriter(java.io.OutputStream out)
                throws java.io.UnsupportedEncodingException
Creates a ConvTableWriter that uses the default character encoding. The CCSID this writer uses may be set if a known mapping exists for this platform's default character encoding.
Parameters:
out - The OutputStream to which to write characters.
Throws:
java.io.UnsupportedEncodingException - If the default character encoding or its associated CCSID is not supported.

ConvTableWriter

public ConvTableWriter(java.io.OutputStream out,
                       java.lang.String encoding)
                throws java.io.UnsupportedEncodingException
Creates a ConvTableWriter that uses the specified character encoding. The CCSID this writer uses may be set if a known mapping exists for the given encoding.
Parameters:
out - The OutputStream to which to write characters.
encoding - The name of a supported character encoding.
Throws:
java.io.UnsupportedEncodingException - If the specified character encoding or its associated CCSID is not supported.

ConvTableWriter

public ConvTableWriter(java.io.OutputStream out,
                       int ccsid)
                throws java.io.UnsupportedEncodingException
Creates a ConvTableWriter that uses the specified CCSID.
Parameters:
out - The OutputStream to which to write characters.
ccsid - The CCSID.
Throws:
java.io.UnsupportedEncodingException - If the specified CCSID or its corresponding character encoding is not supported.

ConvTableWriter

public ConvTableWriter(java.io.OutputStream out,
                       int ccsid,
                       int bidiStringType)
                throws java.io.UnsupportedEncodingException
Creates a ConvTableWriter that uses the specified CCSID and bi-directional string type.
Parameters:
out - The OutputStream to which to write characters.
ccsid - The CCSID.
bidiStringType - The bi-directional string type.
Throws:
java.io.UnsupportedEncodingException - If the specified CCSID or its corresponding character encoding is not supported.
Method Detail

close

public void close()
           throws java.io.IOException
Closes this ConvTableWriter and its underlying output stream.
Overrides:
close in class java.io.OutputStreamWriter
Throws:
java.io.IOException - If an I/O exception occurs.

flush

public void flush()
           throws java.io.IOException
Flushes the underlying output stream.
Overrides:
flush in class java.io.OutputStreamWriter
Throws:
java.io.IOException - If an I/O exception occurs.

getCcsid

public int getCcsid()
Returns the CCSID used by this ConvTableWriter.
Returns:
The CCSID, or -1 if the CCSID is not known.

getEncoding

public java.lang.String getEncoding()
Returns the encoding used by this ConvTableWriter. If the CCSID is not known, the superclass encoding is returned. Otherwise, the corresponding encoding for the CCSID is returned, which may be null if no such mapping exists.
Overrides:
getEncoding in class java.io.OutputStreamWriter
Returns:
The encoding, or null if the encoding is not known.

write

public void write(int c)
           throws java.io.IOException
Writes a single character.
Overrides:
write in class java.io.OutputStreamWriter
Parameters:
c - The character to write.
Throws:
java.io.IOException - If an I/O exception occurs.

write

public void write(char[] buffer)
           throws java.io.IOException
Writes the specified array of characters.
Overrides:
write in class java.io.Writer
Parameters:
buffer - The characters to be written.
Throws:
java.io.IOException - If an I/O exception occurs.

write

public void write(char[] buffer,
                  int offset,
                  int length)
           throws java.io.IOException
Writes a portion of the specified array of characters.
Overrides:
write in class java.io.OutputStreamWriter
Parameters:
buffer - The characters to be written.
offset - The offset into the array from which to begin extracting characters to write.
length - The number of characters to write.
Throws:
java.io.IOException - If an I/O exception occurs.

write

public void write(java.lang.String data)
           throws java.io.IOException
Writes the specified String.
Overrides:
write in class java.io.Writer
Parameters:
data - The String to write.
Throws:
java.io.IOException - If an I/O exception occurs.

write

public void write(java.lang.String data,
                  int offset,
                  int length)
           throws java.io.IOException
Writes a portion of the specified String.
Overrides:
write in class java.io.OutputStreamWriter
Parameters:
data - The String to write.
offset - The offset into the String from which to begin extracting characters to write.
length - The number of characters to write.
Throws:
java.io.IOException - If an I/O exception occurs.