package com.ejie.aa20b.model;

import com.ejie.x38.serialization.JsonDateDeserializer;
import com.ejie.x38.serialization.JsonDateSerializer;
import java.util.Date;
import org.codehaus.jackson.map.annotate.JsonDeserialize;
import org.codehaus.jackson.map.annotate.JsonSerialize;

/**
 * Gamas generated by UDA, 02-mar-2015 11:32:36.
 * 
 * @author UDA
 */

public class Gamas implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Long idgama;
	private Integer idclase;
	private String cgama;
	private String egama;
	private Long semanas;
	private Date feini;
	private String baja;
	private Clase clase;
	private String contrata;
	private Integer idservicio;
	private Servicios servicio;

	private String strFeini; // para recoger los filtros y mantener al Volver.

	/**
	 * Method 'Gamas'.
	 */
	public Gamas() {
	}

	/**
	 * Method 'Gamas'.
	 * 
	 * @param idgama
	 *            Long
	 * @param idclase
	 *            Integer
	 * @param cgama
	 *            String
	 * @param egama
	 *            String
	 * @param semanas
	 *            Long
	 * @param feini
	 *            Date
	 * @param baja
	 *            String
	 * @param clase
	 *            Clase
	 * @param contrata
	 *            String
	 * @param idservicio
	 *            Integer
	 */
	public Gamas(Long idgama, Integer idclase, String cgama, String egama,
			Long semanas, Date feini, String baja, Clase clase,
			String contrata, Integer idservicio) {

		this.idgama = idgama;
		this.idclase = idclase;
		this.cgama = cgama;
		this.egama = egama;
		this.semanas = semanas;
		this.feini = feini;
		this.baja = baja;
		this.clase = clase;
		this.contrata = contrata;
		this.idservicio = idservicio;
	}

	/**
	 * Method 'getIdgama'.
	 * 
	 * @return Long
	 */

	public Long getIdgama() {
		return this.idgama;
	}

	/**
	 * Method 'setIdgama'.
	 * 
	 * @param idgama
	 *            Long
	 * @return
	 */

	public void setIdgama(Long idgama) {
		this.idgama = idgama;
	}

	/**
	 * Method 'getIdclase'.
	 * 
	 * @return Integer
	 */

	public Integer getIdclase() {
		return this.idclase;
	}

	/**
	 * Method 'setIdclase'.
	 * 
	 * @param idclase
	 *            Integer
	 * @return
	 */

	public void setIdclase(Integer idclase) {
		this.idclase = idclase;
	}

	/**
	 * Method 'getCgama'.
	 * 
	 * @return String
	 */

	public String getCgama() {
		return this.cgama;
	}

	/**
	 * Method 'setCgama'.
	 * 
	 * @param cgama
	 *            String
	 * @return
	 */

	public void setCgama(String cgama) {
		this.cgama = cgama;
	}

	/**
	 * Method 'getEgama'.
	 * 
	 * @return String
	 */

	public String getEgama() {
		return this.egama;
	}

	/**
	 * Method 'setEgama'.
	 * 
	 * @param egama
	 *            String
	 * @return
	 */

	public void setEgama(String egama) {
		this.egama = egama;
	}

	/**
	 * Method 'getSemanas'.
	 * 
	 * @return Long
	 */

	public Long getSemanas() {
		return this.semanas;
	}

	/**
	 * Method 'setSemanas'.
	 * 
	 * @param semanas
	 *            Long
	 * @return
	 */

	public void setSemanas(Long semanas) {
		this.semanas = semanas;
	}

	/**
	 * Method 'getFeini'.
	 * 
	 * @return Date
	 */

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFeini() {
		return this.feini;
	}

	/**
	 * Method 'setFeini'.
	 * 
	 * @param feini
	 *            Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFeini(Date feini) {
		this.feini = feini;
	}

	/**
	 * Method 'getBaja'.
	 * 
	 * @return String
	 */

	public String getBaja() {
		return this.baja;
	}

	/**
	 * Method 'setBaja'.
	 * 
	 * @param baja
	 *            String
	 * @return
	 */

	public void setBaja(String baja) {
		this.baja = baja;
	}

	/**
	 * Method 'getClase'.
	 * 
	 * @return Clases
	 */

	public Clase getClase() {
		return this.clase;
	}

	/**
	 * Method 'setClase'.
	 * 
	 * @param clase
	 *            Clases
	 * @return
	 */

	public void setClase(Clase clase) {
		this.clase = clase;
	}

	/**
	 * Method 'getContrata'.
	 * 
	 * @return String
	 */

	public String getContrata() {
		return this.contrata;
	}

	/**
	 * Method 'setContrata'.
	 * 
	 * @param contrata
	 *            String
	 * @return
	 */

	public void setContrata(String contrata) {
		this.contrata = contrata;
	}

	/**
	 * Method 'setIdservicio'.
	 * 
	 * @param idservicio
	 *            Integer
	 * @return
	 */

	public void setIdservicio(Integer idservicio) {
		this.idservicio = idservicio;
	}

	/**
	 * Method 'getIdservicio'.
	 * 
	 * @return Integer
	 */

	public Integer getIdservicio() {
		return idservicio;
	}

	/**
	 * Intended only for logging and debugging.
	 * 
	 * Here, the contents of every main field are placed into the result.
	 * 
	 * @return String
	 */
	@Override
	public String toString() {
		StringBuilder result = new StringBuilder();
		result.append(this.getClass().getName()).append(" Object { ");
		result.append(" [ idgama: ").append(this.idgama).append(" ]");
		result.append(", [ idclase: ").append(this.idclase).append(" ]");
		result.append(", [ cgama: ").append(this.cgama).append(" ]");
		result.append(", [ egama: ").append(this.egama).append(" ]");
		result.append(", [ semanas: ").append(this.semanas).append(" ]");
		result.append(", [ feini: ").append(this.feini).append(" ]");
		result.append(", [ baja: ").append(this.baja).append(" ]");
		result.append(", [ clase: ").append(this.clase).append(" ]");
		result.append(", [ contrata: ").append(this.contrata).append(" ]");
		result.append(", [ idservicio: ").append(this.idservicio).append(" ]");
		result.append("}");
		return result.toString();
	}

	public void setServicio(Servicios servicio) {
		this.servicio = servicio;
	}

	public Servicios getServicio() {
		return servicio;
	}

	public void setStrFeini(String strFeini) {
		this.strFeini = strFeini;
	}

	public String getStrFeini() {
		return strFeini;
	}

}
