I would think that cloning would go into BeanUtils,
which already has some cloning methods.  If BeanUtils
already has cloning code, and so does
SerializationUtils, why would write yet another class?
 

--- Stephen Colebourne <[EMAIL PROTECTED]>
wrote:

> Have a look in SerializationUtils. IIRC this code is
> already there.
> 
> CloneUtils can wrap the code in SerializationUtils
> to
> achieve its aims, although I'd probably prefer to
> just
> add a method to ObjectUtils rather than creating a
> new
> class for one method.
> 
> Stephen
> 
> 
> --- Shaun Kalley <[EMAIL PROTECTED]> wrote:
> 
> > 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:
> 
=== message truncated ===


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

Reply via email to