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

	public static final String TABLENAME = "trabalhadores_ecd";

	public static final String ID = "id";
	public static final String ID_FULL = "trabalhadores_ecd.id";
	public static final String ECD_ID = "ecd_id";
	public static final String ECD_ID_FULL = "trabalhadores_ecd.ecd_id";
	public static final String TO_ECD_ID = "to ecd_id";
	public static final String ECD_OFICIAL_ID = "ecd_oficial_id";
	public static final String ECD_OFICIAL_ID_FULL = "trabalhadores_ecd.ecd_oficial_id";
	public static final String TO_ECD_OFICIAL_ID = "to ecd_oficial_id";
	public static final String ESTADO = "estado";
	public static final String ESTADO_FULL = "trabalhadores_ecd.estado";
	public static final String TRABALHADORES_ECDS_DATAS_ID = "trabalhadores_ecds_datas_id";
	public static final String TRABALHADORES_ECDS_DATAS_ID_FULL = "trabalhadores_ecd.trabalhadores_ecds_datas_id";
	public static final String TO_TRABALHADORES_ECDS_DATAS_ID = "to trabalhadores_ecds_datas_id";
	public static final String ENVIADO = "enviado";
	public static final String ENVIADO_FULL = "trabalhadores_ecd.enviado";
	public static final String ANALISADOR_ID = "analisador_id";
	public static final String ANALISADOR_ID_FULL = "trabalhadores_ecd.analisador_id";
	public static final String TO_ANALISADOR_ID = "to analisador_id";
	public static final String DATA_ENVIO = "data_envio";
	public static final String DATA_ENVIO_FULL = "trabalhadores_ecd.data_envio";
	public static final String DATA_RECEPCAO = "data_recepcao";
	public static final String DATA_RECEPCAO_FULL = "trabalhadores_ecd.data_recepcao";

	public static final String FIELD_NAMES[] = new String[]{
		ECD_ID, TO_ECD_ID, ECD_OFICIAL_ID, TO_ECD_OFICIAL_ID, ESTADO, 
		TRABALHADORES_ECDS_DATAS_ID, TO_TRABALHADORES_ECDS_DATAS_ID, ENVIADO, 
		ANALISADOR_ID, TO_ANALISADOR_ID, DATA_ENVIO, DATA_RECEPCAO, };


	protected static final String ALL_FIELD_NAMES[] = new String[]{
		ID, ECD_ID, ECD_OFICIAL_ID, ESTADO, TRABALHADORES_ECDS_DATAS_ID, ENVIADO, 
		ANALISADOR_ID, DATA_ENVIO, DATA_RECEPCAO, };

	private Map<String, Object> dataHash;

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

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

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

	public Integer getEcd_id()
	{
		return (Integer) dataHash.get(ECD_ID);
	}

	public void setEcd_id(Integer ecd_idValue )
	{
		dataHash.put(TO_ECD_ID, null);
		dataHash.put(ECD_ID, ecd_idValue );
	}

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

	public void setToEcd_id(com.evolute.siprp.server.db.data.siprp_local3.PrtTiposElementosProtocoloData ecd_idObject )
	{
		if( ecd_idObject == null )
		{
			dataHash.put(ECD_ID, null);
		}
		else
		{
			dataHash.put(ECD_ID, ecd_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.PrtTiposElementosProtocoloData.ID ));
		}
		dataHash.put(TO_ECD_ID, ecd_idObject);
	}

	public Integer getEcd_oficial_id()
	{
		return (Integer) dataHash.get(ECD_OFICIAL_ID);
	}

	public void setEcd_oficial_id(Integer ecd_oficial_idValue )
	{
		dataHash.put(TO_ECD_OFICIAL_ID, null);
		dataHash.put(ECD_OFICIAL_ID, ecd_oficial_idValue );
	}

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

	public void setToEcd_oficial_id(com.evolute.siprp.server.db.data.siprp_local3.EcdOficialData ecd_oficial_idObject )
	{
		if( ecd_oficial_idObject == null )
		{
			dataHash.put(ECD_OFICIAL_ID, null);
		}
		else
		{
			dataHash.put(ECD_OFICIAL_ID, ecd_oficial_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.EcdOficialData.ID ));
		}
		dataHash.put(TO_ECD_OFICIAL_ID, ecd_oficial_idObject);
	}

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

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

	public Integer getTrabalhadores_ecds_datas_id()
	{
		return (Integer) dataHash.get(TRABALHADORES_ECDS_DATAS_ID);
	}

	public void setTrabalhadores_ecds_datas_id(Integer trabalhadores_ecds_datas_idValue )
	{
		dataHash.put(TO_TRABALHADORES_ECDS_DATAS_ID, null);
		dataHash.put(TRABALHADORES_ECDS_DATAS_ID, trabalhadores_ecds_datas_idValue );
	}

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

	public void setToTrabalhadores_ecds_datas_id(com.evolute.siprp.server.db.data.siprp_local3.TrabalhadoresEcdsDatasData trabalhadores_ecds_datas_idObject )
	{
		if( trabalhadores_ecds_datas_idObject == null )
		{
			dataHash.put(TRABALHADORES_ECDS_DATAS_ID, null);
		}
		else
		{
			dataHash.put(TRABALHADORES_ECDS_DATAS_ID, trabalhadores_ecds_datas_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.TrabalhadoresEcdsDatasData.ID ));
		}
		dataHash.put(TO_TRABALHADORES_ECDS_DATAS_ID, trabalhadores_ecds_datas_idObject);
	}

	public String getEnviado()
	{
		return (String) get(ENVIADO);
	}

	public void setEnviado(String enviadoValue )
	{
		this.set(ENVIADO, enviadoValue );
	}

	public Integer getAnalisador_id()
	{
		return (Integer) dataHash.get(ANALISADOR_ID);
	}

	public void setAnalisador_id(Integer analisador_idValue )
	{
		dataHash.put(TO_ANALISADOR_ID, null);
		dataHash.put(ANALISADOR_ID, analisador_idValue );
	}

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

	public void setToAnalisador_id(com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData analisador_idObject )
	{
		if( analisador_idObject == null )
		{
			dataHash.put(ANALISADOR_ID, null);
		}
		else
		{
			dataHash.put(ANALISADOR_ID, analisador_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData.ID ));
		}
		dataHash.put(TO_ANALISADOR_ID, analisador_idObject);
	}

	public java.util.Date getData_envio()
	{
		return (java.util.Date) get(DATA_ENVIO);
	}

	public void setData_envio(java.util.Date data_envioValue )
	{
		this.set(DATA_ENVIO, data_envioValue );
	}

	public java.util.Date getData_recepcao()
	{
		return (java.util.Date) get(DATA_RECEPCAO);
	}

	public void setData_recepcao(java.util.Date data_recepcaoValue )
	{
		this.set(DATA_RECEPCAO, data_recepcaoValue );
	}

	protected Object innerGet( String fieldName )
		throws Exception
	{
		Object value = null;
		if( ECD_OFICIAL_ID.equals( fieldName ) )
		{
			value =  getEcd_oficial_id();
		}
		else if( TO_TRABALHADORES_ECDS_DATAS_ID.equals( fieldName ) )
		{
			value =  toTrabalhadores_ecds_datas_id();
		}
		else if( ECD_ID.equals( fieldName ) )
		{
			value =  getEcd_id();
		}
		else if( TO_ECD_ID.equals( fieldName ) )
		{
			value =  toEcd_id();
		}
		else if( TRABALHADORES_ECDS_DATAS_ID.equals( fieldName ) )
		{
			value =  getTrabalhadores_ecds_datas_id();
		}
		else if( TO_ECD_OFICIAL_ID.equals( fieldName ) )
		{
			value =  toEcd_oficial_id();
		}
		else if( ANALISADOR_ID.equals( fieldName ) )
		{
			value =  getAnalisador_id();
		}
		else if( TO_ANALISADOR_ID.equals( fieldName ) )
		{
			value =  toAnalisador_id();
		}
		else
		{
			value =  dataHash.get( fieldName );
		}
		return value;
	}

	protected void innerSet( String fieldName, Object value )
		throws Exception
	{
		if( ECD_OFICIAL_ID.equals( fieldName ) )
		{
			setEcd_oficial_id( (Integer) value );
		}
		else if( TO_TRABALHADORES_ECDS_DATAS_ID.equals( fieldName ) )
		{
			setToTrabalhadores_ecds_datas_id( (com.evolute.siprp.server.db.data.siprp_local3.TrabalhadoresEcdsDatasData) value );
		}
		else if( ECD_ID.equals( fieldName ) )
		{
			setEcd_id( (Integer) value );
		}
		else if( TO_ECD_ID.equals( fieldName ) )
		{
			setToEcd_id( (com.evolute.siprp.server.db.data.siprp_local3.PrtTiposElementosProtocoloData) value );
		}
		else if( TRABALHADORES_ECDS_DATAS_ID.equals( fieldName ) )
		{
			setTrabalhadores_ecds_datas_id( (Integer) value );
		}
		else if( TO_ECD_OFICIAL_ID.equals( fieldName ) )
		{
			setToEcd_oficial_id( (com.evolute.siprp.server.db.data.siprp_local3.EcdOficialData) value );
		}
		else if( ANALISADOR_ID.equals( fieldName ) )
		{
			setAnalisador_id( (Integer) value );
		}
		else if( TO_ANALISADOR_ID.equals( fieldName ) )
		{
			setToAnalisador_id( (com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData) value );
		}
		else
		{
			dataHash.put( fieldName, value );
		}
	}

	public void save()
		throws Exception
	{
		if( dataHash.get(TO_ECD_ID) != null )
		{
			toEcd_id().save();
			dataHash.put(ECD_ID, toEcd_id().get( com.evolute.siprp.server.db.data.siprp_local3.PrtTiposElementosProtocoloData.ID ));
		}

		if( dataHash.get(TO_ECD_OFICIAL_ID) != null )
		{
			toEcd_oficial_id().save();
			dataHash.put(ECD_OFICIAL_ID, toEcd_oficial_id().get( com.evolute.siprp.server.db.data.siprp_local3.EcdOficialData.ID ));
		}

		if( dataHash.get(TO_TRABALHADORES_ECDS_DATAS_ID) != null )
		{
			toTrabalhadores_ecds_datas_id().save();
			dataHash.put(TRABALHADORES_ECDS_DATAS_ID, toTrabalhadores_ecds_datas_id().get( com.evolute.siprp.server.db.data.siprp_local3.TrabalhadoresEcdsDatasData.ID ));
		}

		if( dataHash.get(TO_ANALISADOR_ID) != null )
		{
			toAnalisador_id().save();
			dataHash.put(ANALISADOR_ID, toAnalisador_id().get( com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData.ID ));
		}

		super.save();
	}

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

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

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

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