com.ptc.windchill.upgrade.dust
Class UpgradeEncoder

java.lang.Object
  extended bycom.ptc.windchill.upgrade.dust.UpgradeEncoder

public class UpgradeEncoder
extends Object

Copied from wt.util.Encoder and changed to collect info on classes that are serialized/deserialized. 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


Nested Class Summary
(package private) static class UpgradeEncoder.DecodeObjectInputStream
           
(package private) static class UpgradeEncoder.EncodeObjectOutputStream
           
(package private) static class UpgradeEncoder.InputRedirector
           
(package private) static class UpgradeEncoder.OutputRedirector
           
 
Field Summary
private static ArrayList annotatedClasses
           
private  UpgradeEncoder.DecodeObjectInputStream decodeStream
           
private  UpgradeEncoder.EncodeObjectOutputStream encodeStream
           
 
Constructor Summary
UpgradeEncoder()
           
 
Method Summary
static Serializable decode(String str)
          Produces a serializable object from the encoded string argument.
static String encode(Serializable obj)
          Produces an encoded string from an object argument.
 ArrayList getAnnotatedClasses()
           
 ObjectInputStream setInput(InputStream in)
          Set a input stream to read next object stream.
 ObjectInputStream setInput(String str)
          Set a string to read next encoded object stream.
 UpgradeEncoder.EncodeObjectOutputStream setOutput(OutputStream out)
          Set a output stream to receive the next object stream.
 UpgradeEncoder.EncodeObjectOutputStream setOutput(StringBuffer buf)
          Set a string buffer to receive the next encoded object stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

annotatedClasses

private static ArrayList annotatedClasses

encodeStream

private UpgradeEncoder.EncodeObjectOutputStream encodeStream

decodeStream

private UpgradeEncoder.DecodeObjectInputStream decodeStream
Constructor Detail

UpgradeEncoder

public UpgradeEncoder()
Method Detail

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

getAnnotatedClasses

public ArrayList getAnnotatedClasses()

setOutput

public UpgradeEncoder.EncodeObjectOutputStream 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 UpgradeEncoder.EncodeObjectOutputStream 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