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

	public static final String TABLENAME = "marcacoes_estabelecimento";

	public static final String ID = "id";
	public static final String ID_FULL = "marcacoes_estabelecimento.id";
	public static final String DATA = "data";
	public static final String DATA_FULL = "marcacoes_estabelecimento.data";
	public static final String REALIZADA = "realizada";
	public static final String REALIZADA_FULL = "marcacoes_estabelecimento.realizada";
	public static final String DATA_EMAIL = "data_email";
	public static final String DATA_EMAIL_FULL = "marcacoes_estabelecimento.data_email";
	public static final String DATA_RELATORIO = "data_relatorio";
	public static final String DATA_RELATORIO_FULL = "marcacoes_estabelecimento.data_relatorio";
	public static final String ESTABELECIMENTO_ID = "estabelecimento_id";
	public static final String ESTABELECIMENTO_ID_FULL = "marcacoes_estabelecimento.estabelecimento_id";
	public static final String TO_ESTABELECIMENTO_ID = "to estabelecimento_id";
	public static final String ESTADO = "estado";
	public static final String ESTADO_FULL = "marcacoes_estabelecimento.estado";
	public static final String TECNICO_HST = "tecnico_hst";
	public static final String TECNICO_HST_FULL = "marcacoes_estabelecimento.tecnico_hst";
	public static final String TO_TECNICO_HST = "to tecnico_hst";
	public static final String OBSERVACOES = "observacoes";
	public static final String OBSERVACOES_FULL = "marcacoes_estabelecimento.observacoes";

	public static final String FIELD_NAMES[] = new String[]{
		DATA, REALIZADA, DATA_EMAIL, DATA_RELATORIO, ESTABELECIMENTO_ID, 
		TO_ESTABELECIMENTO_ID, ESTADO, TECNICO_HST, TO_TECNICO_HST, OBSERVACOES, };


	protected static final String ALL_FIELD_NAMES[] = new String[]{
		ID, DATA, REALIZADA, DATA_EMAIL, DATA_RELATORIO, ESTABELECIMENTO_ID, ESTADO, 
		TECNICO_HST, OBSERVACOES, };

	private Map<String, Object> dataHash;

	public MarcacoesEstabelecimentoDataAuto()
	{
		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 String getRealizada()
	{
		return (String) get(REALIZADA);
	}

	public void setRealizada(String realizadaValue )
	{
		this.set(REALIZADA, realizadaValue );
	}

	public java.util.Date getData_email()
	{
		return (java.util.Date) get(DATA_EMAIL);
	}

	public void setData_email(java.util.Date data_emailValue )
	{
		this.set(DATA_EMAIL, data_emailValue );
	}

	public java.util.Date getData_relatorio()
	{
		return (java.util.Date) get(DATA_RELATORIO);
	}

	public void setData_relatorio(java.util.Date data_relatorioValue )
	{
		this.set(DATA_RELATORIO, data_relatorioValue );
	}

	public Integer getEstabelecimento_id()
	{
		return (Integer) dataHash.get(ESTABELECIMENTO_ID);
	}

	public void setEstabelecimento_id(Integer estabelecimento_idValue )
	{
		dataHash.put(TO_ESTABELECIMENTO_ID, null);
		dataHash.put(ESTABELECIMENTO_ID, estabelecimento_idValue );
	}

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

	public void setToEstabelecimento_id(com.evolute.siprp.server.db.data.siprp_local3.EstabelecimentosData estabelecimento_idObject )
	{
		if( estabelecimento_idObject == null )
		{
			dataHash.put(ESTABELECIMENTO_ID, null);
		}
		else
		{
			dataHash.put(ESTABELECIMENTO_ID, estabelecimento_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.EstabelecimentosData.ID ));
		}
		dataHash.put(TO_ESTABELECIMENTO_ID, estabelecimento_idObject);
	}

	public Integer getEstado()
	{
		return (Integer) get(ESTADO);
	}

	public void setEstado(Integer estadoValue )
	{
		this.set(ESTADO, estadoValue );
	}

	public Integer getTecnico_hst()
	{
		return (Integer) dataHash.get(TECNICO_HST);
	}

	public void setTecnico_hst(Integer tecnico_hstValue )
	{
		dataHash.put(TO_TECNICO_HST, null);
		dataHash.put(TECNICO_HST, tecnico_hstValue );
	}

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

	public void setToTecnico_hst(com.evolute.siprp.server.db.data.siprp_local3.MarcacoesTecnicosHstData tecnico_hstObject )
	{
		if( tecnico_hstObject == null )
		{
			dataHash.put(TECNICO_HST, null);
		}
		else
		{
			dataHash.put(TECNICO_HST, tecnico_hstObject.get( com.evolute.siprp.server.db.data.siprp_local3.MarcacoesTecnicosHstData.ID ));
		}
		dataHash.put(TO_TECNICO_HST, tecnico_hstObject);
	}

	public String getObservacoes()
	{
		return (String) get(OBSERVACOES);
	}

	public void setObservacoes(String observacoesValue )
	{
		this.set(OBSERVACOES, observacoesValue );
	}

	protected Object innerGet( String fieldName )
		throws Exception
	{
		Object value = null;
		if( TO_TECNICO_HST.equals( fieldName ) )
		{
			value =  toTecnico_hst();
		}
		else if( TECNICO_HST.equals( fieldName ) )
		{
			value =  getTecnico_hst();
		}
		else if( ESTABELECIMENTO_ID.equals( fieldName ) )
		{
			value =  getEstabelecimento_id();
		}
		else if( TO_ESTABELECIMENTO_ID.equals( fieldName ) )
		{
			value =  toEstabelecimento_id();
		}
		else
		{
			value =  dataHash.get( fieldName );
		}
		return value;
	}

	protected void innerSet( String fieldName, Object value )
		throws Exception
	{
		if( TO_TECNICO_HST.equals( fieldName ) )
		{
			setToTecnico_hst( (com.evolute.siprp.server.db.data.siprp_local3.MarcacoesTecnicosHstData) value );
		}
		else if( TECNICO_HST.equals( fieldName ) )
		{
			setTecnico_hst( (Integer) value );
		}
		else if( ESTABELECIMENTO_ID.equals( fieldName ) )
		{
			setEstabelecimento_id( (Integer) value );
		}
		else if( TO_ESTABELECIMENTO_ID.equals( fieldName ) )
		{
			setToEstabelecimento_id( (com.evolute.siprp.server.db.data.siprp_local3.EstabelecimentosData) value );
		}
		else
		{
			dataHash.put( fieldName, value );
		}
	}

	public void save()
		throws Exception
	{
		if( dataHash.get(TO_ESTABELECIMENTO_ID) != null )
		{
			toEstabelecimento_id().save();
			dataHash.put(ESTABELECIMENTO_ID, toEstabelecimento_id().get( com.evolute.siprp.server.db.data.siprp_local3.EstabelecimentosData.ID ));
		}

		if( dataHash.get(TO_TECNICO_HST) != null )
		{
			toTecnico_hst().save();
			dataHash.put(TECNICO_HST, toTecnico_hst().get( com.evolute.siprp.server.db.data.siprp_local3.MarcacoesTecnicosHstData.ID ));
		}

		super.save();
	}

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

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

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

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