Module java.sql.rowset
Package javax.sql.rowset.serial

## Class SerialJavaObject

- java.lang.Object
- - javax.sql.rowset.serial.SerialJavaObject

All Implemented Interfaces:
  `Serializable`, `Cloneable`

    public class SerialJavaObject
    extends Object
    implements Serializable, Cloneable

A serializable mapping in the Java programming language of an SQL `JAVA_OBJECT` value. Assuming the Java object implements the `Serializable` interface, this class simply wraps the serialization process.

If however, the serialization is not possible because the Java object is not immediately serializable, this class will attempt to serialize all non-static members to permit the object state to be serialized. Static or transient fields cannot be serialized; an attempt to serialize them will result in a `SerialException` object being thrown.

### Thread safety

A SerialJavaObject is not safe for use by multiple concurrent threads. If a SerialJavaObject is to be used by more than one thread then access to the SerialJavaObject should be controlled by appropriate synchronization.

Since:
  1.5
See Also:
  Serialized Form

### Constructor Summary

Constructors
`SerialJavaObject​(Object obj)` Constructor for `SerialJavaObject` helper class.

### Method Summary

All Methods Instance Methods Concrete Methods
`Object` `clone()` Returns a clone of this `SerialJavaObject`.
`boolean` `equals​(Object o)` Compares this SerialJavaObject to the specified object.
`Field[]` `getFields()` Returns an array of `Field` objects that contains each field of the object that this helper class is serializing.
`Object` `getObject()` Returns an `Object` that is a copy of this `SerialJavaObject` object.
`int` `hashCode()` Returns a hash code for this SerialJavaObject.

### Methods declared in class java.lang.Object

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SerialJavaObject

    public SerialJavaObject​(Object obj)
                     throws SerialException

Constructor for `SerialJavaObject` helper class.

Parameters:
  `obj` - the Java `Object` to be serialized
Throws:
  `SerialException` - if the object is found not to be serializable

### Method Detail

#### getObject

    public Object getObject()
                     throws SerialException

Returns an `Object` that is a copy of this `SerialJavaObject` object.

Returns:
  a copy of this `SerialJavaObject` object as an `Object` in the Java programming language
Throws:
  `SerialException` - if the instance is corrupt

#### getFields

    public Field[] getFields()
                      throws SerialException

Returns an array of `Field` objects that contains each field of the object that this helper class is serializing.

Returns:
  an array of `Field` objects
Throws:
  `SerialException` - if an error is encountered accessing the serialized object
  `SecurityException` - If a security manager, s, is present and the caller's class loader is not the same as or an ancestor of the class loader for the class of the object being serialized and invocation of `s.checkPackageAccess()` denies access to the package of that class.
See Also:
  `Class.getFields()`

#### equals

    public boolean equals​(Object o)

Compares this SerialJavaObject to the specified object. The result is `true` if and only if the argument is not `null` and is a `SerialJavaObject` object that is identical to this object

Overrides:
  `equals` in class `Object`
Parameters:
  `o` - The object to compare this `SerialJavaObject` against
Returns:
  `true` if the given object represents a `SerialJavaObject` equivalent to this SerialJavaObject, `false` otherwise
See Also:
  `Object.hashCode()`, `HashMap`

#### hashCode

    public int hashCode()

Returns a hash code for this SerialJavaObject. The hash code for a `SerialJavaObject` object is taken as the hash code of the `Object` it stores

Overrides:
  `hashCode` in class `Object`
Returns:
  a hash code value for this object.
See Also:
  `Object.equals(java.lang.Object)`, `System.identityHashCode(java.lang.Object)`

#### clone

    public Object clone()

Returns a clone of this `SerialJavaObject`.

Overrides:
  `clone` in class `Object`
Returns:
  a clone of this SerialJavaObject
See Also:
  `Cloneable`