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

	public static final String TABLENAME = "marcacoes_grupos_realizados";

	public static final String ID = "id";
	public static final String ID_FULL = "marcacoes_grupos_realizados.id";
	public static final String MARCACAO_TRABALHADOR_ID = "marcacao_trabalhador_id";
	public static final String MARCACAO_TRABALHADOR_ID_FULL = "marcacoes_grupos_realizados.marcacao_trabalhador_id";
	public static final String TO_MARCACAO_TRABALHADOR_ID = "to marcacao_trabalhador_id";
	public static final String GRUPO_PROTOCOLO_ID = "grupo_protocolo_id";
	public static final String GRUPO_PROTOCOLO_ID_FULL = "marcacoes_grupos_realizados.grupo_protocolo_id";
	public static final String TO_GRUPO_PROTOCOLO_ID = "to grupo_protocolo_id";
	public static final String MARCACOES_TRABALHADOR_ESTADO_ID = "marcacoes_trabalhador_estado_id";
	public static final String MARCACOES_TRABALHADOR_ESTADO_ID_FULL = "marcacoes_grupos_realizados.marcacoes_trabalhador_estado_id";
	public static final String TO_MARCACOES_TRABALHADOR_ESTADO_ID = "to marcacoes_trabalhador_estado_id";

	public static final String FIELD_NAMES[] = new String[]{
		MARCACAO_TRABALHADOR_ID, TO_MARCACAO_TRABALHADOR_ID, GRUPO_PROTOCOLO_ID, 
		TO_GRUPO_PROTOCOLO_ID, MARCACOES_TRABALHADOR_ESTADO_ID, 
		TO_MARCACOES_TRABALHADOR_ESTADO_ID, };


	protected static final String ALL_FIELD_NAMES[] = new String[]{
		ID, MARCACAO_TRABALHADOR_ID, GRUPO_PROTOCOLO_ID, 
		MARCACOES_TRABALHADOR_ESTADO_ID, };

	private Map<String, Object> dataHash;

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

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

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

	public Integer getMarcacao_trabalhador_id()
	{
		return (Integer) dataHash.get(MARCACAO_TRABALHADOR_ID);
	}

	public void setMarcacao_trabalhador_id(Integer marcacao_trabalhador_idValue )
	{
		dataHash.put(TO_MARCACAO_TRABALHADOR_ID, null);
		dataHash.put(MARCACAO_TRABALHADOR_ID, marcacao_trabalhador_idValue );
	}

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

	public void setToMarcacao_trabalhador_id(com.evolute.siprp.server.db.data.siprp_local3.MarcacoesTrabalhadorData marcacao_trabalhador_idObject )
	{
		if( marcacao_trabalhador_idObject == null )
		{
			dataHash.put(MARCACAO_TRABALHADOR_ID, null);
		}
		else
		{
			dataHash.put(MARCACAO_TRABALHADOR_ID, marcacao_trabalhador_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.MarcacoesTrabalhadorData.ID ));
		}
		dataHash.put(TO_MARCACAO_TRABALHADOR_ID, marcacao_trabalhador_idObject);
	}

	public Integer getGrupo_protocolo_id()
	{
		return (Integer) dataHash.get(GRUPO_PROTOCOLO_ID);
	}

	public void setGrupo_protocolo_id(Integer grupo_protocolo_idValue )
	{
		dataHash.put(TO_GRUPO_PROTOCOLO_ID, null);
		dataHash.put(GRUPO_PROTOCOLO_ID, grupo_protocolo_idValue );
	}

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

	public void setToGrupo_protocolo_id(com.evolute.siprp.server.db.data.siprp_local3.PrtGruposProtocoloData grupo_protocolo_idObject )
	{
		if( grupo_protocolo_idObject == null )
		{
			dataHash.put(GRUPO_PROTOCOLO_ID, null);
		}
		else
		{
			dataHash.put(GRUPO_PROTOCOLO_ID, grupo_protocolo_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.PrtGruposProtocoloData.ID ));
		}
		dataHash.put(TO_GRUPO_PROTOCOLO_ID, grupo_protocolo_idObject);
	}

	public Integer getMarcacoes_trabalhador_estado_id()
	{
		return (Integer) dataHash.get(MARCACOES_TRABALHADOR_ESTADO_ID);
	}

	public void setMarcacoes_trabalhador_estado_id(Integer marcacoes_trabalhador_estado_idValue )
	{
		dataHash.put(TO_MARCACOES_TRABALHADOR_ESTADO_ID, null);
		dataHash.put(MARCACOES_TRABALHADOR_ESTADO_ID, marcacoes_trabalhador_estado_idValue );
	}

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

	public void setToMarcacoes_trabalhador_estado_id(com.evolute.siprp.server.db.data.siprp_local3.MarcacoesTrabalhadorEstadosData marcacoes_trabalhador_estado_idObject )
	{
		if( marcacoes_trabalhador_estado_idObject == null )
		{
			dataHash.put(MARCACOES_TRABALHADOR_ESTADO_ID, null);
		}
		else
		{
			dataHash.put(MARCACOES_TRABALHADOR_ESTADO_ID, marcacoes_trabalhador_estado_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.MarcacoesTrabalhadorEstadosData.ID ));
		}
		dataHash.put(TO_MARCACOES_TRABALHADOR_ESTADO_ID, marcacoes_trabalhador_estado_idObject);
	}

	protected Object innerGet( String fieldName )
		throws Exception
	{
		Object value = null;
		if( TO_GRUPO_PROTOCOLO_ID.equals( fieldName ) )
		{
			value =  toGrupo_protocolo_id();
		}
		else if( MARCACAO_TRABALHADOR_ID.equals( fieldName ) )
		{
			value =  getMarcacao_trabalhador_id();
		}
		else if( MARCACOES_TRABALHADOR_ESTADO_ID.equals( fieldName ) )
		{
			value =  getMarcacoes_trabalhador_estado_id();
		}
		else if( GRUPO_PROTOCOLO_ID.equals( fieldName ) )
		{
			value =  getGrupo_protocolo_id();
		}
		else if( TO_MARCACAO_TRABALHADOR_ID.equals( fieldName ) )
		{
			value =  toMarcacao_trabalhador_id();
		}
		else if( TO_MARCACOES_TRABALHADOR_ESTADO_ID.equals( fieldName ) )
		{
			value =  toMarcacoes_trabalhador_estado_id();
		}
		else
		{
			value =  dataHash.get( fieldName );
		}
		return value;
	}

	protected void innerSet( String fieldName, Object value )
		throws Exception
	{
		if( TO_GRUPO_PROTOCOLO_ID.equals( fieldName ) )
		{
			setToGrupo_protocolo_id( (com.evolute.siprp.server.db.data.siprp_local3.PrtGruposProtocoloData) value );
		}
		else if( MARCACAO_TRABALHADOR_ID.equals( fieldName ) )
		{
			setMarcacao_trabalhador_id( (Integer) value );
		}
		else if( MARCACOES_TRABALHADOR_ESTADO_ID.equals( fieldName ) )
		{
			setMarcacoes_trabalhador_estado_id( (Integer) value );
		}
		else if( GRUPO_PROTOCOLO_ID.equals( fieldName ) )
		{
			setGrupo_protocolo_id( (Integer) value );
		}
		else if( TO_MARCACAO_TRABALHADOR_ID.equals( fieldName ) )
		{
			setToMarcacao_trabalhador_id( (com.evolute.siprp.server.db.data.siprp_local3.MarcacoesTrabalhadorData) value );
		}
		else if( TO_MARCACOES_TRABALHADOR_ESTADO_ID.equals( fieldName ) )
		{
			setToMarcacoes_trabalhador_estado_id( (com.evolute.siprp.server.db.data.siprp_local3.MarcacoesTrabalhadorEstadosData) value );
		}
		else
		{
			dataHash.put( fieldName, value );
		}
	}

	public void save()
		throws Exception
	{
		if( dataHash.get(TO_MARCACAO_TRABALHADOR_ID) != null )
		{
			toMarcacao_trabalhador_id().save();
			dataHash.put(MARCACAO_TRABALHADOR_ID, toMarcacao_trabalhador_id().get( com.evolute.siprp.server.db.data.siprp_local3.MarcacoesTrabalhadorData.ID ));
		}

		if( dataHash.get(TO_GRUPO_PROTOCOLO_ID) != null )
		{
			toGrupo_protocolo_id().save();
			dataHash.put(GRUPO_PROTOCOLO_ID, toGrupo_protocolo_id().get( com.evolute.siprp.server.db.data.siprp_local3.PrtGruposProtocoloData.ID ));
		}

		if( dataHash.get(TO_MARCACOES_TRABALHADOR_ESTADO_ID) != null )
		{
			toMarcacoes_trabalhador_estado_id().save();
			dataHash.put(MARCACOES_TRABALHADOR_ESTADO_ID, toMarcacoes_trabalhador_estado_id().get( com.evolute.siprp.server.db.data.siprp_local3.MarcacoesTrabalhadorEstadosData.ID ));
		}

		super.save();
	}

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

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

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

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