view src/org/dancres/util/ObjectTransformer.java @ 35:6f68e94c1fb8 default tip

Add CondensedStats monitoring utility, equivalent to vmstat
author Dominic Cleal <dominic-cleal@cdo2.com>
date Thu, 05 Aug 2010 11:07:25 +0100
parents 3dc0c5604566
children
line wrap: on
line source

package org.dancres.util;

import java.io.ObjectOutputStream;
import java.io.ObjectInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.Serializable;

/**
   Converts an object to a byte-array or vice versa
 */
public class ObjectTransformer {
    public static byte[] toByte(Serializable anObject) throws IOException {
        ByteArrayOutputStream myBAOS = new ByteArrayOutputStream();
        ObjectOutputStream myOOS = new ObjectOutputStream(myBAOS);

        myOOS.writeObject(anObject);
        myOOS.close();

        return myBAOS.toByteArray();
    }

    public static Serializable toObject(byte[] aFlattenedObject) 
        throws IOException {

        try {
            ByteArrayInputStream myBAIS =
                new ByteArrayInputStream(aFlattenedObject);
            ObjectInputStream myOIS = new ObjectInputStream(myBAIS);

            Serializable myObject = (Serializable) myOIS.readObject();
            myOIS.close();

            return myObject;
        } catch (ClassNotFoundException aCNFE) {
            throw new IOException("ClassNotFoundException: " +
                                  aCNFE.toString());
        }
    }
}