Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package br.com.web2.ew.persistencia.filtro; import br.com.web2.ew.entidades.Usuario; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Restrictions; /** * * @author fabio */ public class FiltroBuscaOperacao { private Date dataMin = null; private Date dataMax = null; private boolean acao; private boolean usoDeAcao = false; private Usuario user = null; public List<Criterion> getAllRestrictions() { ArrayList result = new ArrayList(); if (usoDeAcao == true) { result.add(this.getAcaoRestriction()); } if (dataMin != null || dataMax != null) { result.add(this.getDataRestriction()); // System.out.println("Data de Cadastro Minimo: " + getDataMin()); // System.out.println("Data de Cadastro Mximo: " + getDataMax()); } if (user != null) { result.add(this.getUsuarioRestriction()); // System.out.println("Usuario ID: " + getUser().getId()); } return result; } public Criterion getDataRestriction() { if (getDataMax() == null) { setDataMax(new Date(System.currentTimeMillis())); } if (getDataMin() == null) { //pro filtro buscar todas as operaes desde o comeo. // setDataMin(user.getDataCadastro()); } return Restrictions.between("dataOperacao", getDataMin(), getDataMax()); } public Criterion getAcaoRestriction() { return Restrictions.eq("acao", isAcao()); } public Criterion getUsuarioRestriction() { return Restrictions.eq("idUsuario", getUser()); } public Date getDataMin() { return dataMin; } public void setDataMin(Date dataMin) { this.dataMin = dataMin; } public Date getDataMax() { return dataMax; } public void setDataMax(Date dataMax) { this.dataMax = dataMax; } public boolean isAcao() { return acao; } public void setAcao(boolean acao) { this.acao = acao; } public boolean isUsoDeAcao() { return usoDeAcao; } public void setUsoDeAcao(boolean usoDeAcao) { this.usoDeAcao = usoDeAcao; } public Usuario getUser() { return user; } public void setUser(Usuario user) { this.user = user; } }