JOB Capable

Instances of your application classes must implement the interface JobCapable . Persistence in JOB is controlled by a contract defined between this interface and the ObjectInput/ObjectOutput interfaces. Instances of the latter interfaces are provided by JOB implementation. The ObjectInput instance refreshes your JOB capable instances with values read from JOB. The ObjectOutput instance stores values of your JOBCapable instances in JOB. The contract determines the interactions in a similar way as the Serializable contract. For this purpose, JOB capable classes are required to implement two private methods having the following signatures:

    private void writeObject(java.io.ObjectOutput out) throws java.io.IOException
    private void readObject(java.io.ObjectInput in) throws java.io.IOException,
                                                           ClassNotFoundException
    

The implementation of method writeObject is intended to write fields of the declaring class to the ObjectOutput instance. As an effect, values of these fields are stored in JOB. The implementation of method readObject is intended to assign values to fields of the declaring class, which are read from an ObjectOutput instance. As an effect, these values are retrieved from JOB.

Unlike the Serializable contract in JDK, the JOBCapable contract does not support a default mechanism writing and reading fields. If your classes implement the interface JobCapable but do not implement the two methods above, then no fields are written/read to/from JOB. Instead, JOB exceptions are thrown.

Note : JobCapable instances are required to have a public no-arg constructor.