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:
> [EMAIL PROTECTED]
> >For additional commands, e-mail:
> [EMAIL PROTECTED]
> >
> >
> >
> >
> >
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]