/*
* HsRelatorioDataAuto.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 HsRelatorioDataAuto extends JDOObject
{

	public static final String TABLENAME = "hs_relatorio";

	public static final String ID = "id";
	public static final String ID_FULL = "hs_relatorio.id";
	public static final String DATA = "data";
	public static final String DATA_FULL = "hs_relatorio.data";
	public static final String DELETED_DATE = "deleted_date";
	public static final String DELETED_DATE_FULL = "hs_relatorio.deleted_date";
	public static final String MARCACAO_ID = "marcacao_id";
	public static final String MARCACAO_ID_FULL = "hs_relatorio.marcacao_id";
	public static final String TO_MARCACAO_ID = "to marcacao_id";
	public static final String IS_SUBMETIDO = "is_submetido";
	public static final String IS_SUBMETIDO_FULL = "hs_relatorio.is_submetido";
	public static final String AVALIACAO_INICIAL = "avaliacao_inicial";
	public static final String AVALIACAO_INICIAL_FULL = "hs_relatorio.avaliacao_inicial";
	public static final String ACOMPANHANTE1 = "acompanhante1";
	public static final String ACOMPANHANTE1_FULL = "hs_relatorio.acompanhante1";
	public static final String FUNCAO_ACOMPANHANTE1 = "funcao_acompanhante1";
	public static final String FUNCAO_ACOMPANHANTE1_FULL = "hs_relatorio.funcao_acompanhante1";
	public static final String ACOMPANHANTE2 = "acompanhante2";
	public static final String ACOMPANHANTE2_FULL = "hs_relatorio.acompanhante2";
	public static final String FUNCAO_ACOMPANHANTE2 = "funcao_acompanhante2";
	public static final String FUNCAO_ACOMPANHANTE2_FULL = "hs_relatorio.funcao_acompanhante2";
	public static final String ACOMPANHANTE3 = "acompanhante3";
	public static final String ACOMPANHANTE3_FULL = "hs_relatorio.acompanhante3";
	public static final String FUNCAO_ACOMPANHANTE3 = "funcao_acompanhante3";
	public static final String FUNCAO_ACOMPANHANTE3_FULL = "hs_relatorio.funcao_acompanhante3";
	public static final String FUNCIONARIOS = "funcionarios";
	public static final String FUNCIONARIOS_FULL = "hs_relatorio.funcionarios";

	public static final String FIELD_NAMES[] = new String[]{
		DATA, DELETED_DATE, MARCACAO_ID, TO_MARCACAO_ID, IS_SUBMETIDO, AVALIACAO_INICIAL, 
		ACOMPANHANTE1, FUNCAO_ACOMPANHANTE1, ACOMPANHANTE2, FUNCAO_ACOMPANHANTE2, 
		ACOMPANHANTE3, FUNCAO_ACOMPANHANTE3, FUNCIONARIOS, };


	protected static final String ALL_FIELD_NAMES[] = new String[]{
		ID, DATA, DELETED_DATE, MARCACAO_ID, IS_SUBMETIDO, AVALIACAO_INICIAL, 
		ACOMPANHANTE1, FUNCAO_ACOMPANHANTE1, ACOMPANHANTE2, FUNCAO_ACOMPANHANTE2, 
		ACOMPANHANTE3, FUNCAO_ACOMPANHANTE3, FUNCIONARIOS, };

	private Map<String, Object> dataHash;

	public HsRelatorioDataAuto()
	{
		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 java.sql.Timestamp getDeleted_date()
	{
		return (java.sql.Timestamp) get(DELETED_DATE);
	}

	public void setDeleted_date(java.sql.Timestamp deleted_dateValue )
	{
		this.set(DELETED_DATE, deleted_dateValue );
	}

	public Integer getMarcacao_id()
	{
		return (Integer) dataHash.get(MARCACAO_ID);
	}

	public void setMarcacao_id(Integer marcacao_idValue )
	{
		dataHash.put(TO_MARCACAO_ID, null);
		dataHash.put(MARCACAO_ID, marcacao_idValue );
	}

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

	public void setToMarcacao_id(com.evolute.siprp.server.db.data.siprp_local3.MarcacoesEstabelecimentoData marcacao_idObject )
	{
		if( marcacao_idObject == null )
		{
			dataHash.put(MARCACAO_ID, null);
		}
		else
		{
			dataHash.put(MARCACAO_ID, marcacao_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.MarcacoesEstabelecimentoData.ID ));
		}
		dataHash.put(TO_MARCACAO_ID, marcacao_idObject);
	}

	public java.sql.Timestamp getIs_submetido()
	{
		return (java.sql.Timestamp) get(IS_SUBMETIDO);
	}

	public void setIs_submetido(java.sql.Timestamp is_submetidoValue )
	{
		this.set(IS_SUBMETIDO, is_submetidoValue );
	}

	public Boolean getAvaliacao_inicial()
	{
		return (Boolean) get(AVALIACAO_INICIAL);
	}

	public void setAvaliacao_inicial(Boolean avaliacao_inicialValue )
	{
		this.set(AVALIACAO_INICIAL, avaliacao_inicialValue );
	}

	public String getAcompanhante1()
	{
		return (String) get(ACOMPANHANTE1);
	}

	public void setAcompanhante1(String acompanhante1Value )
	{
		this.set(ACOMPANHANTE1, acompanhante1Value );
	}

	public String getFuncao_acompanhante1()
	{
		return (String) get(FUNCAO_ACOMPANHANTE1);
	}

	public void setFuncao_acompanhante1(String funcao_acompanhante1Value )
	{
		this.set(FUNCAO_ACOMPANHANTE1, funcao_acompanhante1Value );
	}

	public String getAcompanhante2()
	{
		return (String) get(ACOMPANHANTE2);
	}

	public void setAcompanhante2(String acompanhante2Value )
	{
		this.set(ACOMPANHANTE2, acompanhante2Value );
	}

	public String getFuncao_acompanhante2()
	{
		return (String) get(FUNCAO_ACOMPANHANTE2);
	}

	public void setFuncao_acompanhante2(String funcao_acompanhante2Value )
	{
		this.set(FUNCAO_ACOMPANHANTE2, funcao_acompanhante2Value );
	}

	public String getAcompanhante3()
	{
		return (String) get(ACOMPANHANTE3);
	}

	public void setAcompanhante3(String acompanhante3Value )
	{
		this.set(ACOMPANHANTE3, acompanhante3Value );
	}

	public String getFuncao_acompanhante3()
	{
		return (String) get(FUNCAO_ACOMPANHANTE3);
	}

	public void setFuncao_acompanhante3(String funcao_acompanhante3Value )
	{
		this.set(FUNCAO_ACOMPANHANTE3, funcao_acompanhante3Value );
	}

	public String getFuncionarios()
	{
		return (String) get(FUNCIONARIOS);
	}

	public void setFuncionarios(String funcionariosValue )
	{
		this.set(FUNCIONARIOS, funcionariosValue );
	}

	protected Object innerGet( String fieldName )
		throws Exception
	{
		Object value = null;
		if( TO_MARCACAO_ID.equals( fieldName ) )
		{
			value =  toMarcacao_id();
		}
		else if( MARCACAO_ID.equals( fieldName ) )
		{
			value =  getMarcacao_id();
		}
		else
		{
			value =  dataHash.get( fieldName );
		}
		return value;
	}

	protected void innerSet( String fieldName, Object value )
		throws Exception
	{
		if( TO_MARCACAO_ID.equals( fieldName ) )
		{
			setToMarcacao_id( (com.evolute.siprp.server.db.data.siprp_local3.MarcacoesEstabelecimentoData) value );
		}
		else if( MARCACAO_ID.equals( fieldName ) )
		{
			setMarcacao_id( (Integer) value );
		}
		else
		{
			dataHash.put( fieldName, value );
		}
	}

	public void save()
		throws Exception
	{
		if( dataHash.get(TO_MARCACAO_ID) != null )
		{
			toMarcacao_id().save();
			dataHash.put(MARCACAO_ID, toMarcacao_id().get( com.evolute.siprp.server.db.data.siprp_local3.MarcacoesEstabelecimentoData.ID ));
		}

		super.save();
	}

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

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

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

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