com.ut.tekir.framework.BrowseHome.java Source code

Java tutorial

Introduction

Here is the source code for com.ut.tekir.framework.BrowseHome.java

Source

/*
 * Copyleft 2007-2011 Ozgur Yazilim A.S.
 *
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 * http://www.gnu.org/licenses/lgpl.html
 *
 * www.tekir.com.tr
 * www.ozguryazilim.com.tr
 *
 */

package com.ut.tekir.framework;

import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.criterion.DetachedCriteria;
import org.jboss.seam.annotations.Begin;
import org.jboss.seam.annotations.End;
import org.jboss.seam.annotations.FlushModeType;
import org.jboss.seam.persistence.HibernateSessionProxy;

/**
 *
 * @author haky
 */
public class BrowseHome<E, F> extends EntityHome<E> implements IBrowseHome<E, F> {

    protected List<E> entityList;
    protected F filterModel;

    @Override
    public void init() {
        filterModel = newFilterModel();
    }

    /**
     *  Geriye FilterModel dnmeli eer filtre kullanlmayacak ise birey dndrlmek durumunda deil
     * 
     * @return
     */
    public F newFilterModel() {
        return null;
    }

    @Override
    @Begin(nested = true, flushMode = FlushModeType.MANUAL)
    public void createNew() {
        super.createNew();
    }

    @Override
    @End
    public String save() {
        String s = super.save();
        //TODO: browser' refreshlesek mi?
        return s;
    }

    @Override
    @Begin(nested = true, flushMode = FlushModeType.MANUAL)
    public String edit() {
        return super.edit();
    }

    @Override
    @Begin(nested = true, flushMode = FlushModeType.MANUAL)
    public void edit(E e) {
        super.edit(e);
    }

    @Override
    @End
    public String delete() {
        entity = getEntityManager().merge(entity);
        return super.delete();
    }

    @Override
    public void refreshEntityList() {
        search();
    }

    @SuppressWarnings("unchecked")
    public void search() {

        HibernateSessionProxy session = (HibernateSessionProxy) getEntityManager().getDelegate();

        Criteria ecrit = buildCriteria().getExecutableCriteria(session);
        ecrit.setMaxResults(100);

        setEntityList(ecrit.list());
    }

    /**
     * Bu fonksiyonun zeri yazlp gerekli sorgu yaplmal...
     * 
     * @return
     */
    public DetachedCriteria buildCriteria() {
        DetachedCriteria crit = DetachedCriteria.forClass(getEntityClass());
        return crit;
    }

    @Override
    public List<E> getEntityList() {
        return entityList;
    }

    /**
     * Bu method mutlaka override edilmeli...
     * 
     * @param list
     */
    public void setEntityList(List<E> list) {
        entityList = list;
    }

    public F getFilterModel() {
        return filterModel;
    }

    public void setFilterModel(F filterModel) {
        this.filterModel = filterModel;
    }

}