Module java.base
Package java.io

Class ObjectOutputStream.PutField

  • Enclosing class:
    ObjectOutputStream

    public abstract static class ObjectOutputStream.PutField
    extends Object
    Provide programmatic access to the persistent fields to be written to ObjectOutput.
    Since:
    1.2
    • Constructor Summary

      Constructors 
      Constructor Description
      PutField()  
    • Method Summary

      Modifier and Type Method Description
      abstract void put​(String name, boolean val)
      Put the value of the named boolean field into the persistent field.
      abstract void put​(String name, byte val)
      Put the value of the named byte field into the persistent field.
      abstract void put​(String name, char val)
      Put the value of the named char field into the persistent field.
      abstract void put​(String name, double val)
      Put the value of the named double field into the persistent field.
      abstract void put​(String name, float val)
      Put the value of the named float field into the persistent field.
      abstract void put​(String name, int val)
      Put the value of the named int field into the persistent field.
      abstract void put​(String name, long val)
      Put the value of the named long field into the persistent field.
      abstract void put​(String name, short val)
      Put the value of the named short field into the persistent field.
      abstract void put​(String name, Object val)
      Put the value of the named Object field into the persistent field.
      abstract void write​(ObjectOutput out)
      Deprecated.
      This method does not write the values contained by this PutField object in a proper format, and may result in corruption of the serialization stream.
    • Constructor Detail

      • PutField

        public PutField()
    • Method Detail

      • put

        public abstract void put​(String name,
                                 boolean val)
        Put the value of the named boolean field into the persistent field.
        Parameters:
        name - the name of the serializable field
        val - the value to assign to the field
        Throws:
        IllegalArgumentException - if name does not match the name of a serializable field for the class whose fields are being written, or if the type of the named field is not boolean
      • put

        public abstract void put​(String name,
                                 byte val)
        Put the value of the named byte field into the persistent field.
        Parameters:
        name - the name of the serializable field
        val - the value to assign to the field
        Throws:
        IllegalArgumentException - if name does not match the name of a serializable field for the class whose fields are being written, or if the type of the named field is not byte
      • put

        public abstract void put​(String name,
                                 char val)
        Put the value of the named char field into the persistent field.
        Parameters:
        name - the name of the serializable field
        val - the value to assign to the field
        Throws:
        IllegalArgumentException - if name does not match the name of a serializable field for the class whose fields are being written, or if the type of the named field is not char
      • put

        public abstract void put​(String name,
                                 short val)
        Put the value of the named short field into the persistent field.
        Parameters:
        name - the name of the serializable field
        val - the value to assign to the field
        Throws:
        IllegalArgumentException - if name does not match the name of a serializable field for the class whose fields are being written, or if the type of the named field is not short
      • put

        public abstract void put​(String name,
                                 int val)
        Put the value of the named int field into the persistent field.
        Parameters:
        name - the name of the serializable field
        val - the value to assign to the field
        Throws:
        IllegalArgumentException - if name does not match the name of a serializable field for the class whose fields are being written, or if the type of the named field is not int
      • put

        public abstract void put​(String name,
                                 long val)
        Put the value of the named long field into the persistent field.
        Parameters:
        name - the name of the serializable field
        val - the value to assign to the field
        Throws:
        IllegalArgumentException - if name does not match the name of a serializable field for the class whose fields are being written, or if the type of the named field is not long
      • put

        public abstract void put​(String name,
                                 float val)
        Put the value of the named float field into the persistent field.
        Parameters:
        name - the name of the serializable field
        val - the value to assign to the field
        Throws:
        IllegalArgumentException - if name does not match the name of a serializable field for the class whose fields are being written, or if the type of the named field is not float
      • put

        public abstract void put​(String name,
                                 double val)
        Put the value of the named double field into the persistent field.
        Parameters:
        name - the name of the serializable field
        val - the value to assign to the field
        Throws:
        IllegalArgumentException - if name does not match the name of a serializable field for the class whose fields are being written, or if the type of the named field is not double
      • put

        public abstract void put​(String name,
                                 Object val)
        Put the value of the named Object field into the persistent field.
        Parameters:
        name - the name of the serializable field
        val - the value to assign to the field (which may be null)
        Throws:
        IllegalArgumentException - if name does not match the name of a serializable field for the class whose fields are being written, or if the type of the named field is not a reference type
      • write

        @Deprecated
        public abstract void write​(ObjectOutput out)
                            throws IOException
        Deprecated.
        This method does not write the values contained by this PutField object in a proper format, and may result in corruption of the serialization stream. The correct way to write PutField data is by calling the ObjectOutputStream.writeFields() method.
        Write the data and fields to the specified ObjectOutput stream, which must be the same stream that produced this PutField object.
        Parameters:
        out - the stream to write the data and fields to
        Throws:
        IOException - if I/O errors occur while writing to the underlying stream
        IllegalArgumentException - if the specified stream is not the same stream that produced this PutField object