Lze pouzit ASM nebo Javassist, ale to je IMHO overkill pro vas ucel. 2010/4/1 Ondra Medek <[email protected]>: > Pouzijte wrapper, jak pisesete, ale nic prepisovat nemusite: > > class Clovek2 { > private Clovek original; > > public Clovek2(Clovek original) { > this.original = original; > } > > public Clovek getOriginal() { return this.original;} > > // pridane property > public isAdult() { return this.original.getAge() > 18; } > ... > } > > a ve view volejte clovek.getOriginal().getAge() nebo clovek.isAdult(); > > > 2010/4/1 Petr Prikryl <[email protected]>: >> Dobry den, >> resim takovy zajimavy problem jak pridat metodu a pripadne zmenit >> chovani metody ve view, pricemz jsem vazany tim ze puvodni objekt je >> entita a nemuzu (nechci) ji pridavat metody a parametry ktere se v >> bussines z ni daji vyderivovat. >> >> Napriklad: >> Clovek{ >> private Integer id; >> private Date narozen; >> //a dalsich 50 atributu (prehanim) >> } >> >> ClovekProxy extends Clovek{ >> public Boolean dospely(){ >> return narozen>xy; //cca >> } >> >> pricemz potreboval bych neco jako: >> >> public List<ClovekProxy> getLidi{ >> return (List<CLovekProxy>) userBean.findAll(); >> } >> >> nechce se mi to ale delat pres >> iteraci pres kolekci a new ClovekProxy(Clovek c); >> >> ClovekProxy extends Clovek{ >> public Boolean dospely(){ >> return narozen>xy; //cca >> ///////////// >> //zkopirovat vsechny metody a upravit v nich >> //kod na >> getNarozen(){ >> return c.getNarozen; >> } >> /////////// >> } >> >> protoze se mi to zda ze to je hrozne neefektivni (z hlediska >> programovani ne vykonu), a takove skrabani levou nohou za pravym uchem. >> >> libilo by se mi neco jako >> public ClovekProxy(Clovek c){ >> this=c; >> } >> >> Pripadne existuje na toto nejaky framework, pripadne bude neco podobneho >> v java 1.7? Nebo se mam smmirit ze to je limit javy? Protoze mam pocit >> ze ve smalltalku by to slo vyresit (nejsem smalltalkista) >> >> Dekuji >> PP >
-- Ondra Medek
