jp.develop.common.util.amf.encoder
Class ExternalizableEncoder

java.lang.Object
  extended by jp.develop.common.util.amf.encoder.ExternalizableEncoder
All Implemented Interfaces:
IEncoder<Externalizable>, IEncoder.IObjectEncoder<Externalizable>

public class ExternalizableEncoder
extends Object
implements IEncoder<Externalizable>, IEncoder.IObjectEncoder<Externalizable>

Implementation of IEncoder.IObjectEncoder for Externalizable.

Author:
Waki Takeya
See Also:
IEncoder, IEncoder.IObjectEncoder

Nested Class Summary
 
Nested classes/interfaces inherited from interface jp.develop.common.util.amf.encoder.IEncoder
IEncoder.IArrayEncoder<T>, IEncoder.IDictionaryEncoder<T>, IEncoder.IObjectEncoder<T>
 
Constructor Summary
ExternalizableEncoder()
           
 
Method Summary
 void encode(AmfEncoder encoder, Externalizable object)
          Encode to Action Message Format(AMF).
 void encodeProperties(AmfEncoder encoder, TraitsInfo traits, Externalizable externalizable, PathStack path)
          Encode properties by same order of traits's properties.
 TraitsInfo getTraitsInfo(Externalizable externalizable)
          Get object's traits information.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExternalizableEncoder

public ExternalizableEncoder()
Method Detail

encode

public void encode(AmfEncoder encoder,
                   Externalizable object)
            throws IOException
Encode to Action Message Format(AMF).

Specified by:
encode in interface IEncoder<Externalizable>
Parameters:
encoder - AMF encoder.
object - Object to be encoded.
Throws:
IOException - I/O Exception.

getTraitsInfo

public TraitsInfo getTraitsInfo(Externalizable externalizable)
Get object's traits information.

Specified by:
getTraitsInfo in interface IEncoder.IObjectEncoder<Externalizable>
Parameters:
externalizable - Target object.
Returns:
Traits information.

encodeProperties

public void encodeProperties(AmfEncoder encoder,
                             TraitsInfo traits,
                             Externalizable externalizable,
                             PathStack path)
                      throws IOException
Encode properties by same order of traits's properties. As for externalizable, it is just depended

Specified by:
encodeProperties in interface IEncoder.IObjectEncoder<Externalizable>
Parameters:
encoder - AMF encoder.
traits - Traits information.
externalizable - Object to be encoded.
Throws:
IOException - I/O Exception.