/*
* ExamesDataAuto.java
*
* Generated by com.evutils.codegen.JDOObjectGenerator
*
* Use but DON'T TOUCH
*/
package com.evolute.siprp.server.db.data.siprp_local3;

import com.evolute.utils.jdo.*;
import java.util.HashMap;
import java.util.Map;

class ExamesDataAuto extends JDOObject
{

	public static final String TABLENAME = "exames";

	public static final String ID = "id";
	public static final String ID_FULL = "exames.id";
	public static final String DATA = "data";
	public static final String DATA_FULL = "exames.data";
	public static final String TIPO = "tipo";
	public static final String TIPO_FULL = "exames.tipo";
	public static final String OCASIONAL = "ocasional";
	public static final String OCASIONAL_FULL = "exames.ocasional";
	public static final String OUTRO_TIPO = "outro_tipo";
	public static final String OUTRO_TIPO_FULL = "exames.outro_tipo";
	public static final String RESULTADO = "resultado";
	public static final String RESULTADO_FULL = "exames.resultado";
	public static final String OUTRA_FUNCAO_1 = "outra_funcao_1";
	public static final String OUTRA_FUNCAO_1_FULL = "exames.outra_funcao_1";
	public static final String OUTRA_FUNCAO_2 = "outra_funcao_2";
	public static final String OUTRA_FUNCAO_2_FULL = "exames.outra_funcao_2";
	public static final String OUTRA_FUNCAO_3 = "outra_funcao_3";
	public static final String OUTRA_FUNCAO_3_FULL = "exames.outra_funcao_3";
	public static final String OUTRA_FUNCAO_4 = "outra_funcao_4";
	public static final String OUTRA_FUNCAO_4_FULL = "exames.outra_funcao_4";
	public static final String PROXIMO_EXAME = "proximo_exame";
	public static final String PROXIMO_EXAME_FULL = "exames.proximo_exame";
	public static final String OUTRAS_RECOMENDACOES = "outras_recomendacoes";
	public static final String OUTRAS_RECOMENDACOES_FULL = "exames.outras_recomendacoes";
	public static final String INACTIVO = "inactivo";
	public static final String INACTIVO_FULL = "exames.inactivo";
	public static final String TRABALHADOR_ID = "trabalhador_id";
	public static final String TRABALHADOR_ID_FULL = "exames.trabalhador_id";
	public static final String MEDICO_ID = "medico_id";
	public static final String MEDICO_ID_FULL = "exames.medico_id";
	public static final String TO_MEDICO_ID = "to medico_id";
	public static final String PDF = "pdf";
	public static final String PDF_FULL = "exames.pdf";
	public static final String FO = "fo";
	public static final String FO_FULL = "exames.fo";

	public static final String FIELD_NAMES[] = new String[]{
		DATA, TIPO, OCASIONAL, OUTRO_TIPO, RESULTADO, OUTRA_FUNCAO_1, OUTRA_FUNCAO_2, 
		OUTRA_FUNCAO_3, OUTRA_FUNCAO_4, PROXIMO_EXAME, OUTRAS_RECOMENDACOES, INACTIVO, 
		TRABALHADOR_ID, MEDICO_ID, TO_MEDICO_ID, PDF, FO, };


	protected static final String ALL_FIELD_NAMES[] = new String[]{
		ID, DATA, TIPO, OCASIONAL, OUTRO_TIPO, RESULTADO, OUTRA_FUNCAO_1, OUTRA_FUNCAO_2, 
		OUTRA_FUNCAO_3, OUTRA_FUNCAO_4, PROXIMO_EXAME, OUTRAS_RECOMENDACOES, INACTIVO, 
		TRABALHADOR_ID, MEDICO_ID, PDF, FO, };

	private Map<String, Object> dataHash;

	public ExamesDataAuto()
	{
		dataHash = new HashMap<String, Object>();
	}

	public Integer getId()
	{
		return (Integer) get(ID);
	}

	public void setId(Integer idValue )
	{
		this.set(ID, idValue );
	}

	public java.util.Date getData()
	{
		return (java.util.Date) get(DATA);
	}

	public void setData(java.util.Date dataValue )
	{
		this.set(DATA, dataValue );
	}

	public Integer getTipo()
	{
		return (Integer) get(TIPO);
	}

	public void setTipo(Integer tipoValue )
	{
		this.set(TIPO, tipoValue );
	}

	public Integer getOcasional()
	{
		return (Integer) get(OCASIONAL);
	}

	public void setOcasional(Integer ocasionalValue )
	{
		this.set(OCASIONAL, ocasionalValue );
	}

	public String getOutro_tipo()
	{
		return (String) get(OUTRO_TIPO);
	}

	public void setOutro_tipo(String outro_tipoValue )
	{
		this.set(OUTRO_TIPO, outro_tipoValue );
	}

	public Integer getResultado()
	{
		return (Integer) get(RESULTADO);
	}

	public void setResultado(Integer resultadoValue )
	{
		this.set(RESULTADO, resultadoValue );
	}

	public String getOutra_funcao_1()
	{
		return (String) get(OUTRA_FUNCAO_1);
	}

	public void setOutra_funcao_1(String outra_funcao_1Value )
	{
		this.set(OUTRA_FUNCAO_1, outra_funcao_1Value );
	}

	public String getOutra_funcao_2()
	{
		return (String) get(OUTRA_FUNCAO_2);
	}

	public void setOutra_funcao_2(String outra_funcao_2Value )
	{
		this.set(OUTRA_FUNCAO_2, outra_funcao_2Value );
	}

	public String getOutra_funcao_3()
	{
		return (String) get(OUTRA_FUNCAO_3);
	}

	public void setOutra_funcao_3(String outra_funcao_3Value )
	{
		this.set(OUTRA_FUNCAO_3, outra_funcao_3Value );
	}

	public String getOutra_funcao_4()
	{
		return (String) get(OUTRA_FUNCAO_4);
	}

	public void setOutra_funcao_4(String outra_funcao_4Value )
	{
		this.set(OUTRA_FUNCAO_4, outra_funcao_4Value );
	}

	public java.util.Date getProximo_exame()
	{
		return (java.util.Date) get(PROXIMO_EXAME);
	}

	public void setProximo_exame(java.util.Date proximo_exameValue )
	{
		this.set(PROXIMO_EXAME, proximo_exameValue );
	}

	public String getOutras_recomendacoes()
	{
		return (String) get(OUTRAS_RECOMENDACOES);
	}

	public void setOutras_recomendacoes(String outras_recomendacoesValue )
	{
		this.set(OUTRAS_RECOMENDACOES, outras_recomendacoesValue );
	}

	public String getInactivo()
	{
		return (String) get(INACTIVO);
	}

	public void setInactivo(String inactivoValue )
	{
		this.set(INACTIVO, inactivoValue );
	}

	public Integer getTrabalhador_id()
	{
		return (Integer) get(TRABALHADOR_ID);
	}

	public void setTrabalhador_id(Integer trabalhador_idValue )
	{
		this.set(TRABALHADOR_ID, trabalhador_idValue );
	}

	public Integer getMedico_id()
	{
		return (Integer) dataHash.get(MEDICO_ID);
	}

	public void setMedico_id(Integer medico_idValue )
	{
		dataHash.put(TO_MEDICO_ID, null);
		dataHash.put(MEDICO_ID, medico_idValue );
	}

	public com.evolute.siprp.server.db.data.siprp_local3.MedicosData toMedico_id()
		throws Exception
	{
		if( dataHash.get(TO_MEDICO_ID) == null && getMedico_id() != null )
		{
			dataHash.put(TO_MEDICO_ID, getJDOProvider().load(com.evolute.siprp.server.db.data.siprp_local3.MedicosData.class, new Object[]{ getMedico_id() }, new String[]{ com.evolute.siprp.server.db.data.siprp_local3.MedicosData.ID }));
		}
		return (com.evolute.siprp.server.db.data.siprp_local3.MedicosData) dataHash.get(TO_MEDICO_ID);
	}

	public void setToMedico_id(com.evolute.siprp.server.db.data.siprp_local3.MedicosData medico_idObject )
	{
		if( medico_idObject == null )
		{
			dataHash.put(MEDICO_ID, null);
		}
		else
		{
			dataHash.put(MEDICO_ID, medico_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.MedicosData.ID ));
		}
		dataHash.put(TO_MEDICO_ID, medico_idObject);
	}

	public byte[] getPdf()
	{
		return (byte[]) get(PDF);
	}

	public void setPdf(byte[] pdfValue )
	{
		this.set(PDF, pdfValue );
	}

	public byte[] getFo()
	{
		return (byte[]) get(FO);
	}

	public void setFo(byte[] foValue )
	{
		this.set(FO, foValue );
	}

	protected Object innerGet( String fieldName )
		throws Exception
	{
		Object value = null;
		if( TO_MEDICO_ID.equals( fieldName ) )
		{
			value =  toMedico_id();
		}
		else if( MEDICO_ID.equals( fieldName ) )
		{
			value =  getMedico_id();
		}
		else
		{
			value =  dataHash.get( fieldName );
		}
		return value;
	}

	protected void innerSet( String fieldName, Object value )
		throws Exception
	{
		if( TO_MEDICO_ID.equals( fieldName ) )
		{
			setToMedico_id( (com.evolute.siprp.server.db.data.siprp_local3.MedicosData) value );
		}
		else if( MEDICO_ID.equals( fieldName ) )
		{
			setMedico_id( (Integer) value );
		}
		else
		{
			dataHash.put( fieldName, value );
		}
	}

	public void save()
		throws Exception
	{
		if( dataHash.get(TO_MEDICO_ID) != null )
		{
			toMedico_id().save();
			dataHash.put(MEDICO_ID, toMedico_id().get( com.evolute.siprp.server.db.data.siprp_local3.MedicosData.ID ));
		}

		super.save();
	}

	public String []getFieldNames()
	{
		return FIELD_NAMES;
	}

	protected String []getAllFieldNames()
	{
		return ALL_FIELD_NAMES;
	}

	public Class<Exames> getInnerClass()
	{
		return Exames.class;
	}

	public Integer getJDOPrimaryKey()
	{
		Object obj = this.getId();
		if(obj instanceof JDOObject){
			 obj = ((JDOObject) obj).getInnerObject();
		}
		return (Integer) obj;
	}
}
