/***
Copyright (c) 2013 Hércules S. S. José
Este arquivo é parte do programa EncontreAquiPeças.
EncontreAquiPeças é um software livre; você pode redistribui-lo e/ou
modificá-lo dentro dos termos da Licença Pública Geral Menor GNU como
publicada pela Fundação do Software Livre (FSF); na versão 2.1 da
Licença.
Este programa é distribuído na esperança que possa ser útil,
mas SEM NENHUMA GARANTIA; sem uma garantia implícita de ADEQUAÇÂO a
qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública
Geral Menor GNU em português para maiores detalhes.
Você deve ter recebido uma cópia da Licença Pública Geral Menor GNU sob o
nome de "LICENSE.TXT" junto com este programa, se não, acesse o site HSlife
no endereco www.hslife.com.br ou escreva para a Fundação do Software
Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
Para mais informações sobre o programa EncontreAquiPeças e seu autor acesse o
endereço www.hslife.com.br, pelo e-mail contato@hslife.com.br ou escreva para
Hércules S. S. José, Av. Ministro Lafaeyte de Andrade, 1683 - Bl. 3 Apt 404,
Marco II - Nova Iguaçu, RJ, Brasil.
*/
package br.com.hslife.encontreaquipecas.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import br.com.hslife.encontreaquipecas.exception.BusinessException;
@Entity
@Table(name="produto")
public class Produto extends EntityPersistence {
/**
*
*/
private static final long serialVersionUID = 3083983823927814376L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
@Column(nullable=false)
private String nome;
@Column(nullable=false)
private String fabricante;
@Column(nullable=false)
private String modelo;
@Column(nullable=false)
private double preco;
@Column(nullable=false)
private String descricao;
@Column(nullable=false)
private int ano;
@ManyToOne
@JoinColumn(name="idLoja")
private Loja loja;
public Produto() {
loja = new Loja();
}
@Override
public String getLabel() {
return this.nome;
}
@Override
public void validate() throws BusinessException {
if (loja == null) {
throw new BusinessException("Informe a loja!");
}
if (nome == null || nome.trim().isEmpty()) {
throw new BusinessException("Informe o nome do produto!");
}
if (descricao == null || descricao.trim().isEmpty()) {
throw new BusinessException("Informe a descri��o do produto!");
}
if (fabricante == null || fabricante.trim().isEmpty()) {
throw new BusinessException("Informe o fabricante do produto!");
}
if (modelo == null || modelo.trim().isEmpty()) {
throw new BusinessException("Informe o modelo do produto!");
}
if (preco < 0) {
throw new BusinessException("Pre�o n�o pode ser menor que 0!");
}
if (ano < 0) {
throw new BusinessException("Ano n�o pode ser menor que 0!");
}
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getFabricante() {
return fabricante;
}
public void setFabricante(String fabricante) {
this.fabricante = fabricante;
}
public String getModelo() {
return modelo;
}
public void setModelo(String modelo) {
this.modelo = modelo;
}
public double getPreco() {
return preco;
}
public void setPreco(double preco) {
this.preco = preco;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public int getAno() {
return ano;
}
public void setAno(int ano) {
this.ano = ano;
}
public Loja getLoja() {
return loja;
}
public void setLoja(Loja loja) {
this.loja = loja;
}
}