// Copyright (c) Keith D Gregory, all rights reserved
package com.kdgregory.example.serialization;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.jar.JarFile;

public class UnserializableObject
implements Serializable
{
    private static final long serialVersionUID = 1L;

    private String id;
    private JarFile jar;


    public UnserializableObject(String id, JarFile jar)
    {
        this.id = id;
        this.jar = jar;
    }

    public String getId()
    {
        return id;
    }

    public JarFile getJar()
    {
        return jar;
    }

    // adding these two methods makes this object serializable

//    private void writeObject(ObjectOutputStream out)
//    throws IOException
//    {
//        out.writeObject(id);
//        if (jar == null)    out.writeObject(null);
//        else                out.writeObject(jar.getName());
//    }
//
//    private void readObject(ObjectInputStream in)
//    throws IOException, ClassNotFoundException
//    {
//        id = (String)in.readObject();
//        String jarName = (String)in.readObject();
//        if (jarName != null)
//        {
//            jar = new JarFile(jarName);
//        }
//    }
}
