Java tutorial
/*** 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()); } }