br.com.web2.ew.persistencia.filtro.FiltroBuscaOperacao.java Source code

Java tutorial

Introduction

Here is the source code for br.com.web2.ew.persistencia.filtro.FiltroBuscaOperacao.java

Source

/*
 * 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;
    }
}