Package wt.util

Class Encoder

java.lang.Object
wt.util.Encoder

public class Encoder extends Object
The Encoder class provides methods to encode and decode serializable objects to and from character strings. It provides static convenience methods to encode and decode a single serializable object to and from a character string. Instances of Encoder can be used to efficiently reuse a single java.io.ObjectInputStream or java.io.ObjectOutputStream to read and write many character strings or byte streams. The encoding scheme is considered an internal property of the encoder, but is guaranteed to be a subset of ASCII characters such as Base64-encoding.

A duplicate of this class exists as wt.pds.PDSEncoder where the object input and object output streams implement wt.pds.PDSObjectInput and wt.pds.PDSObjectOutput interfaces. These are tagging interfaces used by some Windchill classes to identify when they are being serialized for long term (persistent) storage. If serializing objects for persistent storage, that class should be used.

NOTE: This class duplicates code that exists in wt.pds.PDSEncoder. Any changes to this class should be reflected there as well.

Supported API: true
Extendable: false

  • Method Details

    • encode

      public static String encode(Serializable obj) throws IOException
      Produces an encoded string from an object argument. The object must be Serializable. A transient Encoder object is constructed to perform the serialization.

      Supported API: true
      Parameters:
      obj - Serializable object to be encoded
      Returns:
      String serialization of the object
      Throws:
      IOException
    • decode

      public static Serializable decode(String str) throws IOException, ClassNotFoundException
      Produces a serializable object from the encoded string argument.

      Supported API: true
      Parameters:
      str - encoded string returned by encode operation
      Returns:
      Serializable object
      Throws:
      IOException
      ClassNotFoundException
    • setOutput

      public ObjectOutputStream setOutput(StringBuffer buf) throws IOException
      Set a string buffer to receive the next encoded object stream.

      Supported API: true
      Parameters:
      buf - the StringBuffer
      Returns:
      the ObjectOutputStream for writing to this buffer
      Throws:
      IOException
    • setOutput

      public ObjectOutputStream setOutput(OutputStream out) throws IOException
      Set a output stream to receive the next object stream.

      Supported API: true
      Parameters:
      out - the OutputStream
      Returns:
      the ObjectOutputStream for writing to this byte stream
      Throws:
      IOException
    • setInput

      public ObjectInputStream setInput(String str) throws IOException
      Set a string to read next encoded object stream.

      Supported API: true
      Parameters:
      str - the String
      Returns:
      the ObjectInputStream for reading this string
      Throws:
      IOException
    • setInput

      public ObjectInputStream setInput(InputStream in) throws IOException
      Set a input stream to read next object stream.

      Supported API: true
      Parameters:
      in - the InputStream
      Returns:
      the ObjectInputStream for reading this stream
      Throws:
      IOException