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

	public static final String TABLENAME = "trabalhadores_fichas_aptidao";

	public static final String ID = "id";
	public static final String ID_FULL = "trabalhadores_fichas_aptidao.id";
	public static final String PROCESSO_ID = "processo_id";
	public static final String PROCESSO_ID_FULL = "trabalhadores_fichas_aptidao.processo_id";
	public static final String TO_PROCESSO_ID = "to processo_id";
	public static final String EXAME_ID = "exame_id";
	public static final String EXAME_ID_FULL = "trabalhadores_fichas_aptidao.exame_id";
	public static final String TO_EXAME_ID = "to exame_id";

	public static final String FIELD_NAMES[] = new String[]{
		PROCESSO_ID, TO_PROCESSO_ID, EXAME_ID, TO_EXAME_ID, };


	protected static final String ALL_FIELD_NAMES[] = new String[]{
		ID, PROCESSO_ID, EXAME_ID, };

	private Map<String, Object> dataHash;

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

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

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

	public Integer getProcesso_id()
	{
		return (Integer) dataHash.get(PROCESSO_ID);
	}

	public void setProcesso_id(Integer processo_idValue )
	{
		dataHash.put(TO_PROCESSO_ID, null);
		dataHash.put(PROCESSO_ID, processo_idValue );
	}

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

	public void setToProcesso_id(com.evolute.siprp.server.db.data.siprp_local3.TrabalhadoresProcessoData processo_idObject )
	{
		if( processo_idObject == null )
		{
			dataHash.put(PROCESSO_ID, null);
		}
		else
		{
			dataHash.put(PROCESSO_ID, processo_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.TrabalhadoresProcessoData.ID ));
		}
		dataHash.put(TO_PROCESSO_ID, processo_idObject);
	}

	public Integer getExame_id()
	{
		return (Integer) dataHash.get(EXAME_ID);
	}

	public void setExame_id(Integer exame_idValue )
	{
		dataHash.put(TO_EXAME_ID, null);
		dataHash.put(EXAME_ID, exame_idValue );
	}

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

	public void setToExame_id(com.evolute.siprp.server.db.data.siprp_local3.ExamesData exame_idObject )
	{
		if( exame_idObject == null )
		{
			dataHash.put(EXAME_ID, null);
		}
		else
		{
			dataHash.put(EXAME_ID, exame_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.ExamesData.ID ));
		}
		dataHash.put(TO_EXAME_ID, exame_idObject);
	}

	protected Object innerGet( String fieldName )
		throws Exception
	{
		Object value = null;
		if( EXAME_ID.equals( fieldName ) )
		{
			value =  getExame_id();
		}
		else if( TO_EXAME_ID.equals( fieldName ) )
		{
			value =  toExame_id();
		}
		else if( PROCESSO_ID.equals( fieldName ) )
		{
			value =  getProcesso_id();
		}
		else if( TO_PROCESSO_ID.equals( fieldName ) )
		{
			value =  toProcesso_id();
		}
		else
		{
			value =  dataHash.get( fieldName );
		}
		return value;
	}

	protected void innerSet( String fieldName, Object value )
		throws Exception
	{
		if( EXAME_ID.equals( fieldName ) )
		{
			setExame_id( (Integer) value );
		}
		else if( TO_EXAME_ID.equals( fieldName ) )
		{
			setToExame_id( (com.evolute.siprp.server.db.data.siprp_local3.ExamesData) value );
		}
		else if( PROCESSO_ID.equals( fieldName ) )
		{
			setProcesso_id( (Integer) value );
		}
		else if( TO_PROCESSO_ID.equals( fieldName ) )
		{
			setToProcesso_id( (com.evolute.siprp.server.db.data.siprp_local3.TrabalhadoresProcessoData) value );
		}
		else
		{
			dataHash.put( fieldName, value );
		}
	}

	public void save()
		throws Exception
	{
		if( dataHash.get(TO_PROCESSO_ID) != null )
		{
			toProcesso_id().save();
			dataHash.put(PROCESSO_ID, toProcesso_id().get( com.evolute.siprp.server.db.data.siprp_local3.TrabalhadoresProcessoData.ID ));
		}

		if( dataHash.get(TO_EXAME_ID) != null )
		{
			toExame_id().save();
			dataHash.put(EXAME_ID, toExame_id().get( com.evolute.siprp.server.db.data.siprp_local3.ExamesData.ID ));
		}

		super.save();
	}

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

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

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

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