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

	public static final String TABLENAME = "trabalhadores_processo";

	public static final String ID = "id";
	public static final String ID_FULL = "trabalhadores_processo.id";
	public static final String TRABALHADOR_ID = "trabalhador_id";
	public static final String TRABALHADOR_ID_FULL = "trabalhadores_processo.trabalhador_id";
	public static final String TO_TRABALHADOR_ID = "to trabalhador_id";
	public static final String ESTADO = "estado";
	public static final String ESTADO_FULL = "trabalhadores_processo.estado";
	public static final String DATA_INICIO = "data_inicio";
	public static final String DATA_INICIO_FULL = "trabalhadores_processo.data_inicio";
	public static final String DATA_FIM = "data_fim";
	public static final String DATA_FIM_FULL = "trabalhadores_processo.data_fim";
	public static final String MOTIVO = "motivo";
	public static final String MOTIVO_FULL = "trabalhadores_processo.motivo";
	public static final String SUB_MOTIVO = "sub_motivo";
	public static final String SUB_MOTIVO_FULL = "trabalhadores_processo.sub_motivo";
	public static final String ACTIVO = "activo";
	public static final String ACTIVO_FULL = "trabalhadores_processo.activo";

	public static final String FIELD_NAMES[] = new String[]{
		TRABALHADOR_ID, TO_TRABALHADOR_ID, ESTADO, DATA_INICIO, DATA_FIM, MOTIVO, 
		SUB_MOTIVO, ACTIVO, };


	protected static final String ALL_FIELD_NAMES[] = new String[]{
		ID, TRABALHADOR_ID, ESTADO, DATA_INICIO, DATA_FIM, MOTIVO, SUB_MOTIVO, ACTIVO, };

	private Map<String, Object> dataHash;

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

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

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

	public Integer getTrabalhador_id()
	{
		return (Integer) dataHash.get(TRABALHADOR_ID);
	}

	public void setTrabalhador_id(Integer trabalhador_idValue )
	{
		dataHash.put(TO_TRABALHADOR_ID, null);
		dataHash.put(TRABALHADOR_ID, trabalhador_idValue );
	}

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

	public void setToTrabalhador_id(com.evolute.siprp.server.db.data.siprp_local3.TrabalhadoresData trabalhador_idObject )
	{
		if( trabalhador_idObject == null )
		{
			dataHash.put(TRABALHADOR_ID, null);
		}
		else
		{
			dataHash.put(TRABALHADOR_ID, trabalhador_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.TrabalhadoresData.ID ));
		}
		dataHash.put(TO_TRABALHADOR_ID, trabalhador_idObject);
	}

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

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

	public java.util.Date getData_inicio()
	{
		return (java.util.Date) get(DATA_INICIO);
	}

	public void setData_inicio(java.util.Date data_inicioValue )
	{
		this.set(DATA_INICIO, data_inicioValue );
	}

	public java.util.Date getData_fim()
	{
		return (java.util.Date) get(DATA_FIM);
	}

	public void setData_fim(java.util.Date data_fimValue )
	{
		this.set(DATA_FIM, data_fimValue );
	}

	public Integer getMotivo()
	{
		return (Integer) get(MOTIVO);
	}

	public void setMotivo(Integer motivoValue )
	{
		this.set(MOTIVO, motivoValue );
	}

	public Integer getSub_motivo()
	{
		return (Integer) get(SUB_MOTIVO);
	}

	public void setSub_motivo(Integer sub_motivoValue )
	{
		this.set(SUB_MOTIVO, sub_motivoValue );
	}

	public String getActivo()
	{
		return (String) get(ACTIVO);
	}

	public void setActivo(String activoValue )
	{
		this.set(ACTIVO, activoValue );
	}

	protected Object innerGet( String fieldName )
		throws Exception
	{
		Object value = null;
		if( TO_TRABALHADOR_ID.equals( fieldName ) )
		{
			value =  toTrabalhador_id();
		}
		else if( TRABALHADOR_ID.equals( fieldName ) )
		{
			value =  getTrabalhador_id();
		}
		else
		{
			value =  dataHash.get( fieldName );
		}
		return value;
	}

	protected void innerSet( String fieldName, Object value )
		throws Exception
	{
		if( TO_TRABALHADOR_ID.equals( fieldName ) )
		{
			setToTrabalhador_id( (com.evolute.siprp.server.db.data.siprp_local3.TrabalhadoresData) value );
		}
		else if( TRABALHADOR_ID.equals( fieldName ) )
		{
			setTrabalhador_id( (Integer) value );
		}
		else
		{
			dataHash.put( fieldName, value );
		}
	}

	public void save()
		throws Exception
	{
		if( dataHash.get(TO_TRABALHADOR_ID) != null )
		{
			toTrabalhador_id().save();
			dataHash.put(TRABALHADOR_ID, toTrabalhador_id().get( com.evolute.siprp.server.db.data.siprp_local3.TrabalhadoresData.ID ));
		}

		super.save();
	}

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

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

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

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