org.apache.hadoop.io

## Class ObjectWritable

- java.lang.Object
- - org.apache.hadoop.io.ObjectWritable

- All Implemented Interfaces:
    Configurable, Writable

      @InterfaceAudience.Public
       @InterfaceStability.Stable
      public class ObjectWritable
      extends Object
      implements Writable, Configurable

  A polymorphic Writable that writes an instance with it's class name. Handles arrays, strings and primitive types without a Writable wrapper.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ObjectWritable()`
    `ObjectWritable(Class declaredClass, Object instance)`
    `ObjectWritable(Object instance)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `get()` Return the instance, or null if none.
    `Configuration` | `getConf()` Return the configuration used by this object.
    `Class` | `getDeclaredClass()` Return the class this is meant to be.
    `static Class<?>` | `loadClass(Configuration conf, String className)` Find and load the class with given name `className` by first finding it in the specified `conf`.
    `void` | `readFields(DataInput in)` Deserialize the fields of this object from `in`.
    `static Object` | `readObject(DataInput in, Configuration conf)` Read a `Writable`, `String`, primitive type, or an array of the preceding.
    `static Object` | `readObject(DataInput in, ObjectWritable objectWritable, Configuration conf)` Read a `Writable`, `String`, primitive type, or an array of the preceding.
    `void` | `set(Object instance)` Reset the instance.
    `void` | `setConf(Configuration conf)` Set the configuration to be used by this object.
    `String` | `toString()`
    `void` | `write(DataOutput out)` Serialize the fields of this object to `out`.
    `static void` | `writeObject(DataOutput out, Object instance, Class declaredClass, Configuration conf)` Write a `Writable`, `String`, primitive type, or an array of the preceding.
    `static void` | `writeObject(DataOutput out, Object instance, Class declaredClass, Configuration conf, boolean allowCompactArrays)` Write a `Writable`, `String`, primitive type, or an array of the preceding.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ObjectWritable

          public ObjectWritable()

    - #### ObjectWritable

          public ObjectWritable(Object instance)

    - #### ObjectWritable

          public ObjectWritable(Class declaredClass,
                                Object instance)

  - ### Method Detail

    - #### get

          public Object get()

      Return the instance, or null if none.

    - #### getDeclaredClass

          public Class getDeclaredClass()

      Return the class this is meant to be.

    - #### set

          public void set(Object instance)

      Reset the instance.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### readFields

          public void readFields(DataInput in)
                          throws IOException

      Description copied from interface: `Writable`
      Deserialize the fields of this object from `in`.

      For efficiency, implementations should attempt to re-use storage in the existing object where possible.

      Specified by:
        `readFields` in interface `Writable`
      Parameters:
        `in` - `DataInput` to deseriablize this object from.
      Throws:
        `IOException`

    - #### write

          public void write(DataOutput out)
                     throws IOException

      Description copied from interface: `Writable`
      Serialize the fields of this object to `out`.
      Specified by:
        `write` in interface `Writable`
      Parameters:
        `out` - `DataOuput` to serialize this object into.
      Throws:
        `IOException`

    - #### writeObject

          public static void writeObject(DataOutput out,
                                         Object instance,
                                         Class declaredClass,
                                         Configuration conf)
                                  throws IOException

      Write a `Writable`, `String`, primitive type, or an array of the preceding.
      Throws:
        `IOException`

    - #### writeObject

          public static void writeObject(DataOutput out,
                                         Object instance,
                                         Class declaredClass,
                                         Configuration conf,
                                         boolean allowCompactArrays)
                                  throws IOException

      Write a `Writable`, `String`, primitive type, or an array of the preceding.
      Parameters:
        `allowCompactArrays` - - set true for RPC and internal or intra-cluster usages. Set false for inter-cluster, File, and other persisted output usages, to preserve the ability to interchange files with other clusters that may not be running the same version of software. Sometime in ~2013 we can consider removing this parameter and always using the compact format.
      Throws:
        `IOException`

    - #### readObject

          public static Object readObject(DataInput in,
                                          Configuration conf)
                                   throws IOException

      Read a `Writable`, `String`, primitive type, or an array of the preceding.
      Throws:
        `IOException`

    - #### readObject

          public static Object readObject(DataInput in,
                                          ObjectWritable objectWritable,
                                          Configuration conf)
                                   throws IOException

      Read a `Writable`, `String`, primitive type, or an array of the preceding.
      Throws:
        `IOException`

    - #### loadClass

          public static Class<?> loadClass(Configuration conf,
                                           String className)

      Find and load the class with given name `className` by first finding it in the specified `conf`. If the specified `conf` is null, try load it directly.

    - #### setConf

          public void setConf(Configuration conf)

      Description copied from interface: `Configurable`
      Set the configuration to be used by this object.
      Specified by:
        `setConf` in interface `Configurable`

    - #### getConf

          public Configuration getConf()

      Description copied from interface: `Configurable`
      Return the configuration used by this object.
      Specified by:
        `getConf` in interface `Configurable`

Copyright © 2008–2022 Apache Software Foundation. All rights reserved.