[Java lista] Perzisztalt POJO klonozasa
Istvan Benedek
istvan.benedek at gmail.com
2009. Jún. 23., K, 00:36:13 CEST
valami hasonloval nem lehet ?
public class CloneFactory<T extends Serializable> {
public T clone(T instance) throws IOException, ClassNotFoundException {
ByteArrayOutputStream byteArrayOutputStream = new
ByteArrayOutputStream(
1);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(
byteArrayOutputStream);
objectOutputStream.writeObject(instance);
ByteArrayInputStream byteArrayInputStream = new
ByteArrayInputStream(
byteArrayOutputStream.toByteArray());
ObjectInputStream objectInputStream = new ObjectInputStream(
byteArrayInputStream);
return (T) objectInputStream.readObject();
}
}
Termeszetesen az osztalyodnak Serializablenek kell lennie.. de talan ez nem
olyan nagy megkotes.
Istvan
2009/6/22 sashee <gsashee at gmail.com>
> Hello!
>
> Hat, ha semmilyen szep megoldas nincs ra, akkor szerintem jarhato ut
> az, ha reflectionnel letrehozol belole egy uj peldanyt, aztan
> vegigmesz a setteken, gettereken(vagy akar egybol a fieldeken) es
> szepen beallitgatod oket. Ezzel lesz egy teljesen altalanos metodusod,
> amely visszaadja a klont. Ha generikusan irod meg, akkor meg
> kasztolgatni sem kell.
>
> sashee
>
> 2009/6/22 Istvan Benedek <istvan.benedek at gmail.com>:
> > A lustasag fel egeszseg.. mindenesetre erdekelne a megoldas.. barmennyire
> is
> > elveim ellen valo..
> >
> > Istvan
> >
> > 2009/6/22 Stef <stefhun at gmail.com>
> >>
> >> Sziasztok!
> >>
> >> Létezik valami egyszerű megoldás arra, ha egy perzisztált POJO-t akarok
> >> klónozni?
> >> Gondolok itt arra, hogy van rengeteg property-je a pojo-knak és nem
> >> akartam első körben egy halom kódot írni set-get-ek egybeágyazásával az
> >> összes osztályban, hanem mondjuk egy clone() függvény, ami visszatér az
> >> aktuális object tulajdonságaival, de ami már nem számít az eredetinek.
> Ez
> >> azt feltételezi, ha ezt az új ojjektumot perzisztálom, akkor egy új
> rekord
> >> keletkezik az rdbms-ben....
> >>
> >> Üdv!
> >> Stef
> >>
> >>
> >> _______________________________________________
> >> Javalist mailing list
> >> Javalist at javagrund.hu
> >> http://javagrund.hu/mailman/listinfo/javalist
> >>
> >
> >
> >
> >
> > _______________________________________________
> > Javalist mailing list
> > Javalist at javagrund.hu
> > http://javagrund.hu/mailman/listinfo/javalist
> >
> >
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
--
Best regards,
István Benedek
Sr. Software Engineer
B2 International Ltd.
Budapest office, Hungary (GMT+1)
Madach Square 3, Floor 3
1075 Budapest
Hungary
Cell phone : +36 (70) 375-4286
Office phone
E-mail : ibenedek at b2international.com
Homepage : http://www.b2international.com
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20090623/e1ea6c1c/attachment.html
További információk a(z) Javalist levelezőlistáról