package geopixel.model.hb.dto;

// default package
// Generated 15/07/2015 12:59:24 by Hibernate Tools 4.0.0

import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;

/**
 * AppTema generated by hbm2java
 */
@SuppressWarnings("serial")
@Entity
@Table(name = "app_tema")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class AppTema implements java.io.Serializable{

	private int tmaId;
	private AppCamada appCamada;
	private AppPerfil appPerfil;
	private String nomeTema;
	private String tituloTema;
	private String descricao;
	private Set<AppPermissao> appPermissaos = new HashSet<AppPermissao>(0);

	public AppTema() {
	}

	public AppTema(int tmaId, AppPerfil appPerfil) {
		this.tmaId = tmaId;
		this.appPerfil = appPerfil;
	}

	public AppTema(int tmaId, AppCamada appCamada, AppPerfil appPerfil,
			String nomeTema, String tituloTema, String descricao,
			Set<AppPermissao> appPermissaos) {
		this.tmaId = tmaId;
		this.appCamada = appCamada;
		this.appPerfil = appPerfil;
		this.nomeTema = nomeTema;
		this.tituloTema = tituloTema;
		this.descricao = descricao;
		this.appPermissaos = appPermissaos;
	}

	@Id
	@Column(name = "tma_id", unique = true, nullable = false)
	public int getTmaId() {
		return this.tmaId;
	}

	public void setTmaId(int tmaId) {
		this.tmaId = tmaId;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "cmd_id")
	public AppCamada getAppCamada() {
		return this.appCamada;
	}

	public void setAppCamada(AppCamada appCamada) {
		this.appCamada = appCamada;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "prf_id", nullable = false)
	public AppPerfil getAppPerfil() {
		return this.appPerfil;
	}

	public void setAppPerfil(AppPerfil appPerfil) {
		this.appPerfil = appPerfil;
	}

	@Column(name = "nome_tema")
	public String getNomeTema() {
		return this.nomeTema;
	}

	public void setNomeTema(String nomeTema) {
		this.nomeTema = nomeTema;
	}

	@Column(name = "titulo_tema")
	public String getTituloTema() {
		return this.tituloTema;
	}

	public void setTituloTema(String tituloTema) {
		this.tituloTema = tituloTema;
	}

	@Column(name = "descricao")
	public String getDescricao() {
		return this.descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	@OneToMany(fetch = FetchType.EAGER, mappedBy = "appTema")
	public Set<AppPermissao> getAppPermissaos() {
		return this.appPermissaos;
	}

	public void setAppPermissaos(Set<AppPermissao> appPermissaos) {
		this.appPermissaos = appPermissaos;
	}

}
