示例#1
0
        //-----------------------------------------------------------------------

        /**
         * Replaces the superclass method to store the state of this class.
         * <p>
         * Serialization is not one of the JDK's nicest topics. Normal serialization will
         * initialise the superclass before the subclass. Sometimes however, this isn't
         * what you want, as in this case the <code>put()</code> method on read can be
         * affected by subclass state.
         * <p>
         * The solution adopted here is to serialize the state data of this class in
         * this protected method. This method must be called by the
         * <code>writeObject()</code> of the first java.io.Serializable subclass.
         * <p>
         * Subclasses may override if they have a specific field that must be present
         * on read before this implementation will work. Generally, the read determines
         * what must be serialized here, if anything.
         *
         * @param out  the output stream
         */
        protected void dowriteObject(java.io.ObjectOutputStream outJ)
        {//throws IOException {
            outJ.writeInt(keyType);
            outJ.writeInt(valueType);
            outJ.writeBoolean(purgeValues);
            outJ.writeFloat(loadFactor);
            outJ.writeInt(data.Length);
            for (MapIterator it = mapIterator(); it.hasNext();)
            {
                outJ.writeObject(it.next());
                outJ.writeObject(it.getValue());
            }
            outJ.writeObject(null);  // null terminate map
            // do not call base.doWriteObject() as code there doesn't work for reference map
        }
 public Object getValue()
 {
     return(iterator.getValue());
 }