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

	public static final String TABLENAME = "trabalhadores";

	public static final String ID = "id";
	public static final String ID_FULL = "trabalhadores.id";
	public static final String NOME = "nome";
	public static final String NOME_FULL = "trabalhadores.nome";
	public static final String SEXO = "sexo";
	public static final String SEXO_FULL = "trabalhadores.sexo";
	public static final String DATA_NASCIMENTO = "data_nascimento";
	public static final String DATA_NASCIMENTO_FULL = "trabalhadores.data_nascimento";
	public static final String NACIONALIDADE = "nacionalidade";
	public static final String NACIONALIDADE_FULL = "trabalhadores.nacionalidade";
	public static final String NUMERO_MECANOGRAFICO = "numero_mecanografico";
	public static final String NUMERO_MECANOGRAFICO_FULL = "trabalhadores.numero_mecanografico";
	public static final String DATA_ADMISSAO = "data_admissao";
	public static final String DATA_ADMISSAO_FULL = "trabalhadores.data_admissao";
	public static final String CATEGORIA = "categoria";
	public static final String CATEGORIA_FULL = "trabalhadores.categoria";
	public static final String LOCAL_TRABALHO = "local_trabalho";
	public static final String LOCAL_TRABALHO_FULL = "trabalhadores.local_trabalho";
	public static final String FUNCAO_PROPOSTA = "funcao_proposta";
	public static final String FUNCAO_PROPOSTA_FULL = "trabalhadores.funcao_proposta";
	public static final String DATA_ADMISSAO_FUNCAO = "data_admissao_funcao";
	public static final String DATA_ADMISSAO_FUNCAO_FULL = "trabalhadores.data_admissao_funcao";
	public static final String OBSERVACOES = "observacoes";
	public static final String OBSERVACOES_FULL = "trabalhadores.observacoes";
	public static final String INACTIVO = "inactivo";
	public static final String INACTIVO_FULL = "trabalhadores.inactivo";
	public static final String ESTABELECIMENTO_ID = "estabelecimento_id";
	public static final String ESTABELECIMENTO_ID_FULL = "trabalhadores.estabelecimento_id";
	public static final String TO_ESTABELECIMENTO_ID = "to estabelecimento_id";
	public static final String DATA_DEMISSAO = "data_demissao";
	public static final String DATA_DEMISSAO_FULL = "trabalhadores.data_demissao";
	public static final String OBSERVACOES_GESTAO = "observacoes_gestao";
	public static final String OBSERVACOES_GESTAO_FULL = "trabalhadores.observacoes_gestao";
	public static final String PERFIL = "perfil";
	public static final String PERFIL_FULL = "trabalhadores.perfil";
	public static final String ACTUALIZACAO = "actualizacao";
	public static final String ACTUALIZACAO_FULL = "trabalhadores.actualizacao";
	public static final String NOME_PLAIN = "nome_plain";
	public static final String NOME_PLAIN_FULL = "trabalhadores.nome_plain";
	public static final String BI = "bi";
	public static final String BI_FULL = "trabalhadores.bi";

	public static final String FIELD_NAMES[] = new String[]{
		NOME, SEXO, DATA_NASCIMENTO, NACIONALIDADE, NUMERO_MECANOGRAFICO, DATA_ADMISSAO, 
		CATEGORIA, LOCAL_TRABALHO, FUNCAO_PROPOSTA, DATA_ADMISSAO_FUNCAO, OBSERVACOES, 
		INACTIVO, ESTABELECIMENTO_ID, TO_ESTABELECIMENTO_ID, DATA_DEMISSAO, 
		OBSERVACOES_GESTAO, PERFIL, ACTUALIZACAO, NOME_PLAIN, BI, };


	protected static final String ALL_FIELD_NAMES[] = new String[]{
		ID, NOME, SEXO, DATA_NASCIMENTO, NACIONALIDADE, NUMERO_MECANOGRAFICO, 
		DATA_ADMISSAO, CATEGORIA, LOCAL_TRABALHO, FUNCAO_PROPOSTA, 
		DATA_ADMISSAO_FUNCAO, OBSERVACOES, INACTIVO, ESTABELECIMENTO_ID, DATA_DEMISSAO, 
		OBSERVACOES_GESTAO, PERFIL, ACTUALIZACAO, NOME_PLAIN, BI, };

	private Map<String, Object> dataHash;

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

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

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

	public String getNome()
	{
		return (String) get(NOME);
	}

	public void setNome(String nomeValue )
	{
		this.set(NOME, nomeValue );
	}

	public String getSexo()
	{
		return (String) get(SEXO);
	}

	public void setSexo(String sexoValue )
	{
		this.set(SEXO, sexoValue );
	}

	public java.util.Date getData_nascimento()
	{
		return (java.util.Date) get(DATA_NASCIMENTO);
	}

	public void setData_nascimento(java.util.Date data_nascimentoValue )
	{
		this.set(DATA_NASCIMENTO, data_nascimentoValue );
	}

	public String getNacionalidade()
	{
		return (String) get(NACIONALIDADE);
	}

	public void setNacionalidade(String nacionalidadeValue )
	{
		this.set(NACIONALIDADE, nacionalidadeValue );
	}

	public String getNumero_mecanografico()
	{
		return (String) get(NUMERO_MECANOGRAFICO);
	}

	public void setNumero_mecanografico(String numero_mecanograficoValue )
	{
		this.set(NUMERO_MECANOGRAFICO, numero_mecanograficoValue );
	}

	public java.util.Date getData_admissao()
	{
		return (java.util.Date) get(DATA_ADMISSAO);
	}

	public void setData_admissao(java.util.Date data_admissaoValue )
	{
		this.set(DATA_ADMISSAO, data_admissaoValue );
	}

	public String getCategoria()
	{
		return (String) get(CATEGORIA);
	}

	public void setCategoria(String categoriaValue )
	{
		this.set(CATEGORIA, categoriaValue );
	}

	public String getLocal_trabalho()
	{
		return (String) get(LOCAL_TRABALHO);
	}

	public void setLocal_trabalho(String local_trabalhoValue )
	{
		this.set(LOCAL_TRABALHO, local_trabalhoValue );
	}

	public String getFuncao_proposta()
	{
		return (String) get(FUNCAO_PROPOSTA);
	}

	public void setFuncao_proposta(String funcao_propostaValue )
	{
		this.set(FUNCAO_PROPOSTA, funcao_propostaValue );
	}

	public java.util.Date getData_admissao_funcao()
	{
		return (java.util.Date) get(DATA_ADMISSAO_FUNCAO);
	}

	public void setData_admissao_funcao(java.util.Date data_admissao_funcaoValue )
	{
		this.set(DATA_ADMISSAO_FUNCAO, data_admissao_funcaoValue );
	}

	public String getObservacoes()
	{
		return (String) get(OBSERVACOES);
	}

	public void setObservacoes(String observacoesValue )
	{
		this.set(OBSERVACOES, observacoesValue );
	}

	public String getInactivo()
	{
		return (String) get(INACTIVO);
	}

	public void setInactivo(String inactivoValue )
	{
		this.set(INACTIVO, inactivoValue );
	}

	public Integer getEstabelecimento_id()
	{
		return (Integer) dataHash.get(ESTABELECIMENTO_ID);
	}

	public void setEstabelecimento_id(Integer estabelecimento_idValue )
	{
		dataHash.put(TO_ESTABELECIMENTO_ID, null);
		dataHash.put(ESTABELECIMENTO_ID, estabelecimento_idValue );
	}

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

	public void setToEstabelecimento_id(com.evolute.siprp.server.db.data.siprp_local3.EstabelecimentosData estabelecimento_idObject )
	{
		if( estabelecimento_idObject == null )
		{
			dataHash.put(ESTABELECIMENTO_ID, null);
		}
		else
		{
			dataHash.put(ESTABELECIMENTO_ID, estabelecimento_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.EstabelecimentosData.ID ));
		}
		dataHash.put(TO_ESTABELECIMENTO_ID, estabelecimento_idObject);
	}

	public java.util.Date getData_demissao()
	{
		return (java.util.Date) get(DATA_DEMISSAO);
	}

	public void setData_demissao(java.util.Date data_demissaoValue )
	{
		this.set(DATA_DEMISSAO, data_demissaoValue );
	}

	public String getObservacoes_gestao()
	{
		return (String) get(OBSERVACOES_GESTAO);
	}

	public void setObservacoes_gestao(String observacoes_gestaoValue )
	{
		this.set(OBSERVACOES_GESTAO, observacoes_gestaoValue );
	}

	public Integer getPerfil()
	{
		return (Integer) get(PERFIL);
	}

	public void setPerfil(Integer perfilValue )
	{
		this.set(PERFIL, perfilValue );
	}

	public java.sql.Timestamp getActualizacao()
	{
		return (java.sql.Timestamp) get(ACTUALIZACAO);
	}

	public void setActualizacao(java.sql.Timestamp actualizacaoValue )
	{
		this.set(ACTUALIZACAO, actualizacaoValue );
	}

	public String getNome_plain()
	{
		return (String) get(NOME_PLAIN);
	}

	public void setNome_plain(String nome_plainValue )
	{
		this.set(NOME_PLAIN, nome_plainValue );
	}

	public String getBi()
	{
		return (String) get(BI);
	}

	public void setBi(String biValue )
	{
		this.set(BI, biValue );
	}

	protected Object innerGet( String fieldName )
		throws Exception
	{
		Object value = null;
		if( ESTABELECIMENTO_ID.equals( fieldName ) )
		{
			value =  getEstabelecimento_id();
		}
		else if( TO_ESTABELECIMENTO_ID.equals( fieldName ) )
		{
			value =  toEstabelecimento_id();
		}
		else
		{
			value =  dataHash.get( fieldName );
		}
		return value;
	}

	protected void innerSet( String fieldName, Object value )
		throws Exception
	{
		if( ESTABELECIMENTO_ID.equals( fieldName ) )
		{
			setEstabelecimento_id( (Integer) value );
		}
		else if( TO_ESTABELECIMENTO_ID.equals( fieldName ) )
		{
			setToEstabelecimento_id( (com.evolute.siprp.server.db.data.siprp_local3.EstabelecimentosData) value );
		}
		else
		{
			dataHash.put( fieldName, value );
		}
	}

	public void save()
		throws Exception
	{
		if( dataHash.get(TO_ESTABELECIMENTO_ID) != null )
		{
			toEstabelecimento_id().save();
			dataHash.put(ESTABELECIMENTO_ID, toEstabelecimento_id().get( com.evolute.siprp.server.db.data.siprp_local3.EstabelecimentosData.ID ));
		}

		super.save();
	}

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

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

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

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