Konuyu görüntüle
IUCODERS FORUM > Programlama > JAVA > java metod argüman aktarımı
Yazar
audtou


avatar
malatya
Kayıt: 31.08.2006
27.04.2009-23:39 #59305
BaseBean isimli bir classım var.içeriği şöyle:
public class BaseEntityBean {

    protected boolean editable;//  = false;
    protected boolean deletable;// = false;

    public BaseEntityBean() {
    }

    @Transient
    public boolean isEditable() {
        return this.editable;
    }
    public void setEditable(boolean value) {
        this.editable = value;
    }

    @Transient
    public boolean isDeletable() {
        return this.deletable;
    }
    public void setDeletable(boolean value) {
        this.deletable = value;
    }
}

BaseBean'den türeyen Ders isimli entity bean classım var.JSF deki managed bean'in içerisinde Ders collection'ını belli değerlerini set edip session bean'e gönderdiğimde deletable attribute'i değişiyor.Mesela
Collection<Ders> dersler;

isimli bi dizim var.Bazı derslerin deletable attrb. leri true olmasına rağmen SessionBean'in içine gönderdiğimde bu değerler false oluyor.SessionBean'deki metodda şöyle:
    public int removeAll(Collection<Ders> dersler){
        int silinen = 0;
        for(Ders d : dersler){
            if(d.isDeletable()){        //
                this.remove(d);
                ++silinen;
            }
        }
        return silinen;
    }

buda JSF'deki managed bean içindeki metodum:
    public String dersSil() {
        if (this.getSilinecekDersVarmi()) {
            this.dersFacadeRemote = this.lookupDersFacade();
            this.dersFacadeRemote.removeAll(this.dersler);
        }
        this.dersSet();
        return null;
    }

ksıacası sorun şöyle JSF metodunda ki "dersler" nesnesinin attributleri düzgünken SessionBean'e giden Collection'daki Ders nesnelerinin attribute'leri neden false oluyor?
teşekkürler şimdidden





bitiyo lan!
Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
28.04.2009-00:09 #59308
0. durum primitive tiplerin varsayılan değerleri vardır. örneğin boolean için false.
1. durum transient oldukları için context değiştiğinde içerikleri serialize olamadığı için kayboluyor ve varsayılan değerini alıyor.






N/A
Yazar
audtou


avatar
malatya
Kayıt: 31.08.2006
03.05.2009-23:07 #59502
orhan yazdi
 

0. durum primitive tiplerin varsayılan değerleri vardır. örneğin boolean için false.
1. durum transient oldukları için context değiştiğinde içerikleri serialize olamadığı için kayboluyor ve varsayılan değerini alıyor.

evet dediğin gibiymiş.Şöyle yapınca çalıştı:
public class BaseEntityBean implements Serializable{
    protected Boolean editable;
    protected Boolean deletable;

teşekkürler Orhan





bitiyo lan!
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb