Class Marshaller


  • public class Marshaller
    extends java.lang.Object
    Title: JGroups Communications Description: Contact me at mail@filip.net Copyright: Copyright (c) 2002 Company: www.filip.net
    Version:
    1.0 This class marshalls classes, in other words it serializes and deserializes classes to and from object streams. It performs a magic number matching to decrease the number of bytes that are being sent over the wire. If no magic number is available for the class, the classname is sent over instead
    Author:
    Filip Hanik, Bela Ban
    • Constructor Summary

      Constructors 
      Constructor Description
      Marshaller()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.io.Externalizable read​(java.io.ObjectInput in)
      reads the magic number, instantiates the class (from the configurator) and invokes the readExternal method on the object.
      static void write​(java.io.Externalizable inst, java.io.ObjectOutput out)
      Writes an object to the ObjectOutput stream.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Marshaller

        public Marshaller()
    • Method Detail

      • read

        public static java.io.Externalizable read​(java.io.ObjectInput in)
                                           throws java.io.IOException
        reads the magic number, instantiates the class (from the configurator) and invokes the readExternal method on the object. If no magic number is present, the method will read the string and then get the class from the configurator.
        Parameters:
        in - an ObjectInput stream - the stream should be composed as follows:
        [boolean -> int|string -> object data]
        If the boolean is true, then the next value is an int, the magic number.
        If the boolean is false, then the next value is a string (the class name)
        The object data is what the object instance uses to populate its fields
        Throws:
        java.io.IOException
      • write

        public static void write​(java.io.Externalizable inst,
                                 java.io.ObjectOutput out)
                          throws java.io.IOException
        Writes an object to the ObjectOutput stream. If possible, we will send over a magic number instead of the class name so that we transfer less amount of data.
        Parameters:
        inst - - an object instance to be serialized, can not be null
        out - - the ObjectOutput stream we will write the serialized data to
        Throws:
        java.io.IOException