/* * * Copyright (c) 2013 - 2014 INT - National Institute of Technology & COPPE - Alberto Luiz Coimbra Institute - Graduate School and Research in Engineering. * See the file license.txt for copyright permission. * */ package modelo; import java.io.Serializable; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Transient; import xfuzzy.lang.Specification; /** * Classe relativa ao Bean para o cadastro de Modelagem Fuzzy * * * @author felipe * */ @NamedQueries( { @NamedQuery ( name = "ModelagemFuzzy.recuperaModelagemFuzzy", query = "select mf from ModelagemFuzzy mf where mf.id = ? " ), @NamedQuery ( name = "ModelagemFuzzy.recuperaModelagemFuzzyPeloNome", query = "select mf from ModelagemFuzzy mf where mf.nomeModelagemFuzzy = ?" ), @NamedQuery ( name = "ModelagemFuzzy.recuperaListaDeModelagemFuzzys", query = "select mf "+ "from ModelagemFuzzy mf "+ "order by mf.nomeModelagemFuzzy asc" ), @NamedQuery ( name = "ModelagemFuzzy.recuperaListaDeModelagemFuzzysPorFinalidade", query = "select mf "+ "from ModelagemFuzzy mf "+ "where mf.finalidadeModelagem = ? " + "order by mf.nomeModelagemFuzzy asc" ), @NamedQuery ( name = "ModelagemFuzzy.recuperaListaPaginadaDeModelagemFuzzys", query = "select distinct mf from ModelagemFuzzy mf order by mf.nomeModelagemFuzzy asc" ), @NamedQuery ( name = "ModelagemFuzzy.recuperaListaPaginadaDeModelagemFuzzysCount", query = "select count (distinct mf) from ModelagemFuzzy mf" ) }) @Entity @Table(name="MODELAGEMFUZZY") @SequenceGenerator(name="SEQUENCIA", sequenceName="SEQ_MODELAGEMFUZZY", allocationSize=1) /** * ModelagemFuzzy - Essa classe representa uma modelagem fuzzy com seus dados que seram utilizados. * Como o nome do autor da modelagem, o arquivo da mesma, os cadPlans que a utilizam. * @author arruda * */ public class ModelagemFuzzy implements Serializable{ private static final long serialVersionUID = 1L; /** identificador da Modelagem Fuzzy */ private Long id; /** nome que identifica a Modelagem Fuzzy*/ private String nomeModelagemFuzzy; /** descricao da Modelagem Fuzzy*/ private String descrModelagemFuzzy; /** nome do usuario responsavel por criar esta Modelagem Fuzzy. */ private String autor; /** Data em que foi feito upload dessa modelagem no sistema. */ private Calendar dataCriacao; /** O nome do arquivo da modelagem usado. */ private String nomeArquivo; /** Indica qual a finalidade da modelagem(pode ser GERAR_PMP ou AVALIAR_PMP). */ private String finalidadeModelagem; /** * Atributo que cont�m a lista de planos para um determinado usu�rio. * */ private List<CadPlan> cadPlans; /** Campo transiente para facilitar acesso ao conteudo do arquivo de modelagem */ private transient Specification modelagem; public ModelagemFuzzy() { } // ********* M�todos do Tipo Get e Set ********* @Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQUENCIA") @Column(name="ID") public Long getId() { return id; } public void setId(Long id) { this.id = id; } @Column(nullable = false,unique=true) public String getNomeModelagemFuzzy() { return nomeModelagemFuzzy; } public void setNomeModelagemFuzzy(String nomeModelagemFuzzy) { this.nomeModelagemFuzzy = nomeModelagemFuzzy; } @Temporal(value = TemporalType.DATE) public Calendar getDataCriacao() { return dataCriacao; } public void setDataCriacao(Calendar dataCriacao) { this.dataCriacao = dataCriacao; } /** * @return the descrModelagemFuzzy */ public String getDescrModelagemFuzzy() { return descrModelagemFuzzy; } /** * @param descrModelagemFuzzy the descrModelagemFuzzy to set */ public void setDescrModelagemFuzzy(String descrModelagemFuzzy) { this.descrModelagemFuzzy = descrModelagemFuzzy; } /** * @return the nomeArquivo */ public String getNomeArquivo() { return nomeArquivo; } /** * @param nomeArquivo the nomeArquivo to set */ public void setNomeArquivo(String nomeArquivo) { this.nomeArquivo = nomeArquivo; } /** * @return the finalidadeModelagem */ public String getFinalidadeModelagem() { return finalidadeModelagem; } /** * @param finalidadeModelagem the finalidadeModelagem to set */ public void setFinalidadeModelagem(String finalidadeModelagem) { this.finalidadeModelagem = finalidadeModelagem; } /** * @return the autor */ public String getAutor() { return autor; } /** * @param autor the autor to set */ public void setAutor(String autor) { this.autor = autor; } // ********* M�todos para Associa��es ********* @OneToMany(mappedBy="modelagemFuzzy") public List<CadPlan> getCadPlans() { return cadPlans; } public void setCadPlans(List<CadPlan> cadPlans) { this.cadPlans = cadPlans; } @Transient public Specification getModelagem() { return modelagem; } public void setModelagem(Specification modelagem) { this.modelagem = modelagem; } @Override public String toString() { return this.nomeArquivo + " - " + this.descrModelagemFuzzy; } }