I've included my code below. I have another if you're able to answer it: why is the lang subproject home to classes dealing with serialization? Shouldn't they be part of the IO subproject?

Thanks,
Shaun

   /**
* <p>Clones a serializable object by serializing and deserializing it.</p>
    *
    * @param obj the object to clone.
    * @return a clone of the object, or null if the object is null.
    * @throws SerializationException if the serialization process fails.
    */
public static Object cloneSerializable(Serializable obj) throws SerializationException {
       if (obj == null) {
           return null;
       }
       ObjectOutputStream oos = null;
       ObjectInputStream ois = null;
       try {
           ByteArrayOutputStream baos = new ByteArrayOutputStream(512);
           oos = new ObjectOutputStream(baos);
           oos.writeObject(obj);
           oos.flush();
ois = new ObjectInputStream(new ByteArrayInputStream(baos.toByteArray()));
           return ois.readObject();
       } catch (Exception e) {
throw new SerializationException("Failed to clone serializable object.", e);
       } finally {
           if (ois != null) {
               try {
                  ois.close();
               } catch (IOException ignored) {
               }
           }
           if (oos != null) {
               try {
                   oos.close();
               } catch (IOException ignored) {
               }
           }
       }
   }

Kevin Gessner wrote:

Thanks Shaun - I'd be happy to have the code if you'll send it along.

Kevin

On 6/4/05, Shaun Kalley <[EMAIL PROTECTED]> wrote:
The only substantial difference in my code is a shortcut to return null
if the object is null.  (Sorry to send two replies!)

Shaun


James Carman wrote:

SerializationUtils already has a clone() method.  Is your code different
from that?
-----Original Message-----
From: Shaun Kalley [mailto:[EMAIL PROTECTED]
Sent: Saturday, June 04, 2005 4:31 PM
To: Jakarta Commons Developers List
Subject: Re: [lang] CloneUtils

Hi, Kevin and everyone,

I've got code for cloning serializable objects that I'd be happy to
contribute to the project.  Let me know if you'd like it as a starting
point.

Thanks,
Shaun Kalley


Kevin Gessner wrote:



Hello all,

In the interest of jumping feet first into commons-lang, I'm hoping to
start work on CloneUtils (from the tasks list).  Before I start any
serious design/coding, I'd like to ask for any suggestions as to
features of the class (assuming, of course, that no one has anything
completed already).  I was planning on implementing serialization
cloning, and maybe super-simple public fields cloning if it's worth
it.  I would appreciate any suggestions/tips/etc. anyone has to offer.

Thanks,
Kevin Gessner

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]








---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]







---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Reply via email to