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

	public static final String TABLENAME = "trabalhadores_consultas_datas";

	public static final String ID = "id";
	public static final String ID_FULL = "trabalhadores_consultas_datas.id";
	public static final String DATA = "data";
	public static final String DATA_FULL = "trabalhadores_consultas_datas.data";
	public static final String TRABALHADORES_CONSULTAS_ID = "trabalhadores_consultas_id";
	public static final String TRABALHADORES_CONSULTAS_ID_FULL = "trabalhadores_consultas_datas.trabalhadores_consultas_id";
	public static final String TO_TRABALHADORES_CONSULTAS_ID = "to trabalhadores_consultas_id";
	public static final String ESTADO = "estado";
	public static final String ESTADO_FULL = "trabalhadores_consultas_datas.estado";
	public static final String PRESTADOR_ID = "prestador_id";
	public static final String PRESTADOR_ID_FULL = "trabalhadores_consultas_datas.prestador_id";
	public static final String TO_PRESTADOR_ID = "to prestador_id";

	public static final String FIELD_NAMES[] = new String[]{
		DATA, TRABALHADORES_CONSULTAS_ID, TO_TRABALHADORES_CONSULTAS_ID, ESTADO, 
		PRESTADOR_ID, TO_PRESTADOR_ID, };


	protected static final String ALL_FIELD_NAMES[] = new String[]{
		ID, DATA, TRABALHADORES_CONSULTAS_ID, ESTADO, PRESTADOR_ID, };

	private Map<String, Object> dataHash;

	public TrabalhadoresConsultasDatasDataAuto()
	{
		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 getTrabalhadores_consultas_id()
	{
		return (Integer) dataHash.get(TRABALHADORES_CONSULTAS_ID);
	}

	public void setTrabalhadores_consultas_id(Integer trabalhadores_consultas_idValue )
	{
		dataHash.put(TO_TRABALHADORES_CONSULTAS_ID, null);
		dataHash.put(TRABALHADORES_CONSULTAS_ID, trabalhadores_consultas_idValue );
	}

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

	public void setToTrabalhadores_consultas_id(com.evolute.siprp.server.db.data.siprp_local3.TrabalhadoresConsultasData trabalhadores_consultas_idObject )
	{
		if( trabalhadores_consultas_idObject == null )
		{
			dataHash.put(TRABALHADORES_CONSULTAS_ID, null);
		}
		else
		{
			dataHash.put(TRABALHADORES_CONSULTAS_ID, trabalhadores_consultas_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.TrabalhadoresConsultasData.ID ));
		}
		dataHash.put(TO_TRABALHADORES_CONSULTAS_ID, trabalhadores_consultas_idObject);
	}

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

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

	public Integer getPrestador_id()
	{
		return (Integer) dataHash.get(PRESTADOR_ID);
	}

	public void setPrestador_id(Integer prestador_idValue )
	{
		dataHash.put(TO_PRESTADOR_ID, null);
		dataHash.put(PRESTADOR_ID, prestador_idValue );
	}

	public com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData toPrestador_id()
		throws Exception
	{
		if( dataHash.get(TO_PRESTADOR_ID) == null && getPrestador_id() != null )
		{
			dataHash.put(TO_PRESTADOR_ID, getJDOProvider().load(com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData.class, new Object[]{ getPrestador_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_PRESTADOR_ID);
	}

	public void setToPrestador_id(com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData prestador_idObject )
	{
		if( prestador_idObject == null )
		{
			dataHash.put(PRESTADOR_ID, null);
		}
		else
		{
			dataHash.put(PRESTADOR_ID, prestador_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData.ID ));
		}
		dataHash.put(TO_PRESTADOR_ID, prestador_idObject);
	}

	protected Object innerGet( String fieldName )
		throws Exception
	{
		Object value = null;
		if( TO_PRESTADOR_ID.equals( fieldName ) )
		{
			value =  toPrestador_id();
		}
		else if( PRESTADOR_ID.equals( fieldName ) )
		{
			value =  getPrestador_id();
		}
		else if( TRABALHADORES_CONSULTAS_ID.equals( fieldName ) )
		{
			value =  getTrabalhadores_consultas_id();
		}
		else if( TO_TRABALHADORES_CONSULTAS_ID.equals( fieldName ) )
		{
			value =  toTrabalhadores_consultas_id();
		}
		else
		{
			value =  dataHash.get( fieldName );
		}
		return value;
	}

	protected void innerSet( String fieldName, Object value )
		throws Exception
	{
		if( TO_PRESTADOR_ID.equals( fieldName ) )
		{
			setToPrestador_id( (com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData) value );
		}
		else if( PRESTADOR_ID.equals( fieldName ) )
		{
			setPrestador_id( (Integer) value );
		}
		else if( TRABALHADORES_CONSULTAS_ID.equals( fieldName ) )
		{
			setTrabalhadores_consultas_id( (Integer) value );
		}
		else if( TO_TRABALHADORES_CONSULTAS_ID.equals( fieldName ) )
		{
			setToTrabalhadores_consultas_id( (com.evolute.siprp.server.db.data.siprp_local3.TrabalhadoresConsultasData) value );
		}
		else
		{
			dataHash.put( fieldName, value );
		}
	}

	public void save()
		throws Exception
	{
		if( dataHash.get(TO_TRABALHADORES_CONSULTAS_ID) != null )
		{
			toTrabalhadores_consultas_id().save();
			dataHash.put(TRABALHADORES_CONSULTAS_ID, toTrabalhadores_consultas_id().get( com.evolute.siprp.server.db.data.siprp_local3.TrabalhadoresConsultasData.ID ));
		}

		if( dataHash.get(TO_PRESTADOR_ID) != null )
		{
			toPrestador_id().save();
			dataHash.put(PRESTADOR_ID, toPrestador_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<TrabalhadoresConsultasDatas> getInnerClass()
	{
		return TrabalhadoresConsultasDatas.class;
	}

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