views:

47

answers:

2

Does anyone know if there is a library that exists to help test if an object graph is fully serializable? It would probably be as simple as writing it out and reading it back in, but I figured someone must have abstracted this already - I just can't find it.

+2  A: 

Read this article.

and note the following highly re-usable function :

public void testIsSerializable() 
   throws JaxenException, IOException {

    BaseXPath path = new BaseXPath("//foo", new DocumentNavigator());
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(out);
    oos.writeObject(path);
    oos.close();
    assertTrue(out.toByteArray().length > 0);

}

The article also explains how to test whether the objects were correctly serialized.

Amir Afghani
Thanks, I just figured someone had already packaged it up into a single method call.
Jeff Storey
A: 

It would probably be as simple as writing it out and reading it back in

It's even simpler. Just write it out. If that succeeded, everything is serializable.

EJP