Class Pair.Externalizer

  • All Implemented Interfaces:
    java.io.Externalizable, java.io.Serializable, Externalizer
    Enclosing class:
    Pair<A,​B>

    public static final class Pair.Externalizer
    extends java.lang.Object
    implements Externalizer, java.io.Externalizable
    An externalizer for Pair instances.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      Externalizer()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object createExternal​(java.lang.Class<?> subjectType, java.io.ObjectInput input, Creator defaultCreator)
      Create an instance of a type.
      static Pair.Externalizer getInstance()
      Get the single instance.
      void readExternal​(java.io.ObjectInput in)
      void readExternal​(java.lang.Object subject, java.io.ObjectInput input)
      Read the external representation of an object.
      protected java.lang.Object readResolve()
      Resolve the object to the single externalizer instance.
      void writeExternal​(java.io.ObjectOutput out)
      void writeExternal​(java.lang.Object subject, java.io.ObjectOutput output)
      Write the external representation of an object.
      • Methods inherited from class java.lang.Object

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

      • Externalizer

        public Externalizer()
    • Method Detail

      • getInstance

        public static Pair.Externalizer getInstance()
        Get the single instance. Though multiple instances can be created using the public constructor, only a single instance need be used in practice since this class maintains no internal state.
        Returns:
        the instance
      • writeExternal

        public void writeExternal​(java.lang.Object subject,
                                  java.io.ObjectOutput output)
                           throws java.io.IOException
        Write the external representation of an object. The object's class and the externalizer's class will already have been written.
        Specified by:
        writeExternal in interface Externalizer
        Parameters:
        subject - the object to externalize
        output - the output
        Throws:
        java.io.IOException - if an error occurs
      • createExternal

        public java.lang.Object createExternal​(java.lang.Class<?> subjectType,
                                               java.io.ObjectInput input,
                                               Creator defaultCreator)
                                        throws java.io.IOException,
                                               java.lang.ClassNotFoundException
        Create an instance of a type. The object may then be initialized from input, or that may be deferred to the readExternal() method. Instances may simply delegate the task to the given Creator. Note that this method is called only on the leaf class, so externalizers for non-final classes that initialize the instance from the stream need to be aware of this.
        Specified by:
        createExternal in interface Externalizer
        Parameters:
        subjectType - the type of object to create
        input - the input
        defaultCreator - the configured creator
        Returns:
        the new instance
        Throws:
        java.io.IOException - if an error occurs
        java.lang.ClassNotFoundException - if a class could not be found during read
      • readExternal

        public void readExternal​(java.lang.Object subject,
                                 java.io.ObjectInput input)
        Read the external representation of an object. The object will already be instantiated, but may be uninitialized, when this method is called.
        Specified by:
        readExternal in interface Externalizer
        Parameters:
        subject - the object to read
        input - the input
      • writeExternal

        public void writeExternal​(java.io.ObjectOutput out)
        Specified by:
        writeExternal in interface java.io.Externalizable
      • readExternal

        public void readExternal​(java.io.ObjectInput in)
        Specified by:
        readExternal in interface java.io.Externalizable
      • readResolve

        protected java.lang.Object readResolve()
        Resolve the object to the single externalizer instance.
        Returns:
        the instance