br.com.hslife.orcamento.model.CriterioLog.java Source code

Java tutorial

Introduction

Here is the source code for br.com.hslife.orcamento.model.CriterioLog.java

Source

/***
      
 Copyright (c) 2012 - 2020 Hrcules S. S. Jos
    
Este arquivo  parte do programa Oramento Domstico.
    
    
Oramento Domstico  um software livre; voc pode redistribui-lo e/ou 
    
modific-lo dentro dos termos da Licena Pblica Geral Menor GNU como 
    
publicada pela Fundao do Software Livre (FSF); na verso 2.1 da 
    
Licena.
    
    
Este programa  distribudo na esperana que possa ser til, 
    
mas SEM NENHUMA GARANTIA; sem uma garantia implcita de ADEQUAO a 
    
qualquer MERCADO ou APLICAO EM PARTICULAR. Veja a Licena Pblica 
    
Geral Menor GNU em portugus para maiores detalhes.
    
    
Voc deve ter recebido uma cpia da Licena Pblica Geral Menor GNU sob o 
    
nome de "LICENSE.TXT" junto com este programa, se no, acesse o site do
    
projeto no endereco https://github.com/herculeshssj/orcamento ou escreva 
    
para a Fundao do Software Livre(FSF) Inc., 51 Franklin St, Fifth Floor, 
    
Boston, MA  02110-1301, USA.
    
    
Para mais informaes sobre o programa Oramento Domstico e seu autor entre  
    
em contato pelo e-mail herculeshssj@outlook.com, ou ainda escreva para 
    
Hrcules S. S. Jos, Av. Ministro Lafaeyte de Andrade, 1683 - Bl. 3 Apt 404, 
    
Marco II - Nova Iguau, RJ, Brasil.
      
***/

package br.com.hslife.orcamento.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;

import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Restrictions;

public class CriterioLog {

    // Atributo que armazena os critrios selecionados
    private Map<String, Criterion> hibernateCriterions = new TreeMap<String, Criterion>();

    private Date inicio;
    private Date fim;
    private String logger;
    private String logLevel;

    public String getLogger() {
        return logger;
    }

    public void setLogger(String logger) {
        this.logger = logger;

        hibernateCriterions.remove("logger");

        if (logger != null && !logger.isEmpty()) {
            hibernateCriterions.put("logger", Restrictions.eq("logger", logger));
        }
    }

    public String getLogLevel() {
        return logLevel;
    }

    public void setLogLevel(String logLevel) {
        this.logLevel = logLevel;

        hibernateCriterions.remove("logLevel");

        if (logLevel != null && !logLevel.isEmpty()) {
            hibernateCriterions.put("logLevel", Restrictions.eq("logLevel", logLevel));
        }
    }

    public Date getInicio() {
        return inicio;
    }

    @SuppressWarnings("deprecation")
    public void setInicio(Date inicio) {
        this.inicio = inicio;

        hibernateCriterions.remove("inicio");

        if (inicio != null) {
            // Seta a data de incio para 00:00:00 do dia
            inicio.setHours(0);
            inicio.setMinutes(0);
            inicio.setSeconds(0);

            hibernateCriterions.put("inicio", Restrictions.ge("logDate", inicio));
        }
    }

    public Date getFim() {
        return fim;
    }

    @SuppressWarnings("deprecation")
    public void setFim(Date fim) {
        this.fim = fim;

        hibernateCriterions.remove("fim");

        if (fim != null) {
            // Seta a data de fim para 23:59:59
            fim.setHours(23);
            fim.setMinutes(59);
            fim.setSeconds(59);

            hibernateCriterions.put("fim", Restrictions.le("logDate", fim));
        }
    }

    public List<Criterion> buildCriteria() {
        return new ArrayList<Criterion>(hibernateCriterions.values());
    }
}