/*
* Trabalhadores.java
*
* Generated by com.evutils.codegen.EntityObjectGenerator
*
* Use but DON'T TOUCH
* -> (can't touch this)
*/
package siprp.data.inner;


public class Trabalhadores extends siprp.data.BaseObject
{
	private static final java.util.HashMap<String,Integer> FIELD_INDEXES = new java.util.HashMap<String,Integer>();

	static
	{
		FIELD_INDEXES.put( Trabalhadores.ID, Trabalhadores.ID_INDEX );
		FIELD_INDEXES.put( Trabalhadores.ID_FULL, Trabalhadores.ID_INDEX );
		FIELD_INDEXES.put( Trabalhadores.NOME, Trabalhadores.NOME_INDEX );
		FIELD_INDEXES.put( Trabalhadores.NOME_FULL, Trabalhadores.NOME_INDEX );
		FIELD_INDEXES.put( Trabalhadores.SEXO, Trabalhadores.SEXO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.SEXO_FULL, Trabalhadores.SEXO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.DATA_NASCIMENTO, Trabalhadores.DATA_NASCIMENTO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.DATA_NASCIMENTO_FULL, Trabalhadores.DATA_NASCIMENTO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.NACIONALIDADE, Trabalhadores.NACIONALIDADE_INDEX );
		FIELD_INDEXES.put( Trabalhadores.NACIONALIDADE_FULL, Trabalhadores.NACIONALIDADE_INDEX );
		FIELD_INDEXES.put( Trabalhadores.NUMERO_MECANOGRAFICO, Trabalhadores.NUMERO_MECANOGRAFICO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.NUMERO_MECANOGRAFICO_FULL, Trabalhadores.NUMERO_MECANOGRAFICO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.DATA_ADMISSAO, Trabalhadores.DATA_ADMISSAO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.DATA_ADMISSAO_FULL, Trabalhadores.DATA_ADMISSAO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.CATEGORIA, Trabalhadores.CATEGORIA_INDEX );
		FIELD_INDEXES.put( Trabalhadores.CATEGORIA_FULL, Trabalhadores.CATEGORIA_INDEX );
		FIELD_INDEXES.put( Trabalhadores.LOCAL_TRABALHO, Trabalhadores.LOCAL_TRABALHO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.LOCAL_TRABALHO_FULL, Trabalhadores.LOCAL_TRABALHO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.FUNCAO_PROPOSTA, Trabalhadores.FUNCAO_PROPOSTA_INDEX );
		FIELD_INDEXES.put( Trabalhadores.FUNCAO_PROPOSTA_FULL, Trabalhadores.FUNCAO_PROPOSTA_INDEX );
		FIELD_INDEXES.put( Trabalhadores.DATA_ADMISSAO_FUNCAO, Trabalhadores.DATA_ADMISSAO_FUNCAO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.DATA_ADMISSAO_FUNCAO_FULL, Trabalhadores.DATA_ADMISSAO_FUNCAO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.OBSERVACOES, Trabalhadores.OBSERVACOES_INDEX );
		FIELD_INDEXES.put( Trabalhadores.OBSERVACOES_FULL, Trabalhadores.OBSERVACOES_INDEX );
		FIELD_INDEXES.put( Trabalhadores.INACTIVO, Trabalhadores.INACTIVO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.INACTIVO_FULL, Trabalhadores.INACTIVO_INDEX );
		com.evolute.entity.evo.EvoDataObject.register( Trabalhadores.CLASS_IDENTIFIER, Trabalhadores.ESTABELECIMENTO_ID, Trabalhadores.TO_ESTABELECIMENTO_ID ); 
		FIELD_INDEXES.put( Trabalhadores.ESTABELECIMENTO_ID, Trabalhadores.ESTABELECIMENTO_ID_INDEX );
		FIELD_INDEXES.put( Trabalhadores.ESTABELECIMENTO_ID_FULL, Trabalhadores.ESTABELECIMENTO_ID_INDEX );
		FIELD_INDEXES.put( Trabalhadores.TO_ESTABELECIMENTO_ID, Trabalhadores.TO_ESTABELECIMENTO_ID_INDEX );
		FIELD_INDEXES.put( Trabalhadores.DATA_DEMISSAO, Trabalhadores.DATA_DEMISSAO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.DATA_DEMISSAO_FULL, Trabalhadores.DATA_DEMISSAO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.OBSERVACOES_GESTAO, Trabalhadores.OBSERVACOES_GESTAO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.OBSERVACOES_GESTAO_FULL, Trabalhadores.OBSERVACOES_GESTAO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.PERFIL, Trabalhadores.PERFIL_INDEX );
		FIELD_INDEXES.put( Trabalhadores.PERFIL_FULL, Trabalhadores.PERFIL_INDEX );
		FIELD_INDEXES.put( Trabalhadores.ACTUALIZACAO, Trabalhadores.ACTUALIZACAO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.ACTUALIZACAO_FULL, Trabalhadores.ACTUALIZACAO_INDEX );
		FIELD_INDEXES.put( Trabalhadores.NOME_PLAIN, Trabalhadores.NOME_PLAIN_INDEX );
		FIELD_INDEXES.put( Trabalhadores.NOME_PLAIN_FULL, Trabalhadores.NOME_PLAIN_INDEX );
		FIELD_INDEXES.put( Trabalhadores.BI, Trabalhadores.BI_INDEX );
		FIELD_INDEXES.put( Trabalhadores.BI_FULL, Trabalhadores.BI_INDEX );
	}

	private final java.util.HashMap< String, Boolean > LAZY_LOADED_OBJECTS = new java.util.HashMap< String, Boolean >();


	public static final com.evolute.entity.ForeignKey ForeignKeyestabelecimento_idToestabelecimentos = 
		new com.evolute.entity.ForeignKey( Trabalhadores.class, Trabalhadores.ESTABELECIMENTO_ID, siprp.data.outer.EstabelecimentosData.class, siprp.data.outer.EstabelecimentosData.ID );

	public static final String TABLENAME = "trabalhadores";


	public static final String CLASS_IDENTIFIER = "trabalhadores1277401737185";

	public static final int _INVALID__INDEX = -1;
	public static final String ID = "id";
	public static final String ID_FULL = "trabalhadores.id";
	public static final int ID_INDEX = 0;
	public static final String NOME = "nome";
	public static final String NOME_FULL = "trabalhadores.nome";
	public static final int NOME_INDEX = 1;
	public static final String SEXO = "sexo";
	public static final String SEXO_FULL = "trabalhadores.sexo";
	public static final int SEXO_INDEX = 2;
	public static final String DATA_NASCIMENTO = "data_nascimento";
	public static final String DATA_NASCIMENTO_FULL = "trabalhadores.data_nascimento";
	public static final int DATA_NASCIMENTO_INDEX = 3;
	public static final String NACIONALIDADE = "nacionalidade";
	public static final String NACIONALIDADE_FULL = "trabalhadores.nacionalidade";
	public static final int NACIONALIDADE_INDEX = 4;
	public static final String NUMERO_MECANOGRAFICO = "numero_mecanografico";
	public static final String NUMERO_MECANOGRAFICO_FULL = "trabalhadores.numero_mecanografico";
	public static final int NUMERO_MECANOGRAFICO_INDEX = 5;
	public static final String DATA_ADMISSAO = "data_admissao";
	public static final String DATA_ADMISSAO_FULL = "trabalhadores.data_admissao";
	public static final int DATA_ADMISSAO_INDEX = 6;
	public static final String CATEGORIA = "categoria";
	public static final String CATEGORIA_FULL = "trabalhadores.categoria";
	public static final int CATEGORIA_INDEX = 7;
	public static final String LOCAL_TRABALHO = "local_trabalho";
	public static final String LOCAL_TRABALHO_FULL = "trabalhadores.local_trabalho";
	public static final int LOCAL_TRABALHO_INDEX = 8;
	public static final String FUNCAO_PROPOSTA = "funcao_proposta";
	public static final String FUNCAO_PROPOSTA_FULL = "trabalhadores.funcao_proposta";
	public static final int FUNCAO_PROPOSTA_INDEX = 9;
	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 int DATA_ADMISSAO_FUNCAO_INDEX = 10;
	public static final String OBSERVACOES = "observacoes";
	public static final String OBSERVACOES_FULL = "trabalhadores.observacoes";
	public static final int OBSERVACOES_INDEX = 11;
	public static final String INACTIVO = "inactivo";
	public static final String INACTIVO_FULL = "trabalhadores.inactivo";
	public static final int INACTIVO_INDEX = 12;
	public static final String ESTABELECIMENTO_ID = "estabelecimento_id";
	public static final String ESTABELECIMENTO_ID_FULL = "trabalhadores.estabelecimento_id";
	public static final int ESTABELECIMENTO_ID_INDEX = 13;
	public static final String TO_ESTABELECIMENTO_ID = "to_estabelecimento_id";
	public static final int TO_ESTABELECIMENTO_ID_INDEX = 14;
	public static final String DATA_DEMISSAO = "data_demissao";
	public static final String DATA_DEMISSAO_FULL = "trabalhadores.data_demissao";
	public static final int DATA_DEMISSAO_INDEX = 15;
	public static final String OBSERVACOES_GESTAO = "observacoes_gestao";
	public static final String OBSERVACOES_GESTAO_FULL = "trabalhadores.observacoes_gestao";
	public static final int OBSERVACOES_GESTAO_INDEX = 16;
	public static final String PERFIL = "perfil";
	public static final String PERFIL_FULL = "trabalhadores.perfil";
	public static final int PERFIL_INDEX = 17;
	public static final String ACTUALIZACAO = "actualizacao";
	public static final String ACTUALIZACAO_FULL = "trabalhadores.actualizacao";
	public static final int ACTUALIZACAO_INDEX = 18;
	public static final String NOME_PLAIN = "nome_plain";
	public static final String NOME_PLAIN_FULL = "trabalhadores.nome_plain";
	public static final int NOME_PLAIN_INDEX = 19;
	public static final String BI = "bi";
	public static final String BI_FULL = "trabalhadores.bi";
	public static final int BI_INDEX = 20;

	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, };

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

	protected static final String DB_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, };


	protected static final String PK_FIELD_NAMES[] = new String[]{
		ID, };


	public static final String DEFAULT_LOAD_SET[] = 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 Integer id;
	private String nome;
	private String sexo;
	private java.util.Date data_nascimento;
	private String nacionalidade;
	private String numero_mecanografico;
	private java.util.Date data_admissao;
	private String categoria;
	private String local_trabalho;
	private String funcao_proposta;
	private java.util.Date data_admissao_funcao;
	private String observacoes;
	private String inactivo;
	private Integer estabelecimento_id;
	private siprp.data.outer.EstabelecimentosData to_estabelecimento_id;
	private java.util.Date data_demissao;
	private String observacoes_gestao;
	private Integer perfil;
	private java.sql.Timestamp actualizacao;
	private String nome_plain;
	private String bi;

	protected com.evolute.entity.utils.IntegerPrimaryKey primaryKey;

	public Trabalhadores()
	{
		super();
		dirtyProperties = new boolean[]{ false, false, false, 
			false, false, false, false, false, false, false, false, 
			false, false, false, false, false, false, false, false, 
			false, false };
	}

	public Integer getId()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( ID );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.id;
	}

	public void setId( Integer id )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( ID, id );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.id = id;
		LAZY_LOADED_OBJECTS.put( ID, Boolean.TRUE );
	}

	public java.util.List<siprp.data.outer.AvisosData>fromAvisos_trabalhador_id()
	{
		java.util.List<siprp.data.outer.AvisosData> result = null;
		try
		{
			result = fromReference( siprp.data.outer.AvisosData.class , getPrimaryKey().getMap().get("id"), "trabalhador_id" );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		return result;
	}

	public java.util.List<siprp.data.outer.ExamesData>fromExames_trabalhador_id()
	{
		java.util.List<siprp.data.outer.ExamesData> result = null;
		try
		{
			result = fromReference( siprp.data.outer.ExamesData.class , getPrimaryKey().getMap().get("id"), "trabalhador_id" );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		return result;
	}

	public java.util.List<siprp.data.outer.LembretesData>fromLembretes_trabalhador_id()
	{
		java.util.List<siprp.data.outer.LembretesData> result = null;
		try
		{
			result = fromReference( siprp.data.outer.LembretesData.class , getPrimaryKey().getMap().get("id"), "trabalhador_id" );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		return result;
	}

	public java.util.List<siprp.data.outer.MarcacoesTrabalhadorData>fromMarcacoesTrabalhador_trabalhador_id()
	{
		java.util.List<siprp.data.outer.MarcacoesTrabalhadorData> result = null;
		try
		{
			result = fromReference( siprp.data.outer.MarcacoesTrabalhadorData.class , getPrimaryKey().getMap().get("id"), "trabalhador_id" );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		return result;
	}

	public java.util.List<siprp.data.outer.TrabalhadoresConsultasData>fromTrabalhadoresConsultas_trabalhador_id()
	{
		java.util.List<siprp.data.outer.TrabalhadoresConsultasData> result = null;
		try
		{
			result = fromReference( siprp.data.outer.TrabalhadoresConsultasData.class , getPrimaryKey().getMap().get("id"), "trabalhador_id" );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		return result;
	}

	public java.util.List<siprp.data.outer.TrabalhadoresEcdsData>fromTrabalhadoresEcds_trabalhador_id()
	{
		java.util.List<siprp.data.outer.TrabalhadoresEcdsData> result = null;
		try
		{
			result = fromReference( siprp.data.outer.TrabalhadoresEcdsData.class , getPrimaryKey().getMap().get("id"), "trabalhador_id" );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		return result;
	}

	public java.util.List<siprp.data.outer.TrabalhadoresProcessoData>fromTrabalhadoresProcesso_trabalhador_id()
	{
		java.util.List<siprp.data.outer.TrabalhadoresProcessoData> result = null;
		try
		{
			result = fromReference( siprp.data.outer.TrabalhadoresProcessoData.class , getPrimaryKey().getMap().get("id"), "trabalhador_id" );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		return result;
	}

	public String getNome()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( NOME );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.nome;
	}

	public void setNome( String nome )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( NOME, nome );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.nome = nome;
		LAZY_LOADED_OBJECTS.put( NOME, Boolean.TRUE );
	}

	public String getSexo()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( SEXO );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.sexo;
	}

	public void setSexo( String sexo )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( SEXO, sexo );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.sexo = sexo;
		LAZY_LOADED_OBJECTS.put( SEXO, Boolean.TRUE );
	}

	public java.util.Date getData_nascimento()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( DATA_NASCIMENTO );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.data_nascimento;
	}

	public void setData_nascimento( java.util.Date data_nascimento )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( DATA_NASCIMENTO, data_nascimento );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.data_nascimento = data_nascimento;
		LAZY_LOADED_OBJECTS.put( DATA_NASCIMENTO, Boolean.TRUE );
	}

	public String getNacionalidade()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( NACIONALIDADE );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.nacionalidade;
	}

	public void setNacionalidade( String nacionalidade )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( NACIONALIDADE, nacionalidade );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.nacionalidade = nacionalidade;
		LAZY_LOADED_OBJECTS.put( NACIONALIDADE, Boolean.TRUE );
	}

	public String getNumero_mecanografico()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( NUMERO_MECANOGRAFICO );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.numero_mecanografico;
	}

	public void setNumero_mecanografico( String numero_mecanografico )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( NUMERO_MECANOGRAFICO, numero_mecanografico );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.numero_mecanografico = numero_mecanografico;
		LAZY_LOADED_OBJECTS.put( NUMERO_MECANOGRAFICO, Boolean.TRUE );
	}

	public java.util.Date getData_admissao()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( DATA_ADMISSAO );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.data_admissao;
	}

	public void setData_admissao( java.util.Date data_admissao )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( DATA_ADMISSAO, data_admissao );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.data_admissao = data_admissao;
		LAZY_LOADED_OBJECTS.put( DATA_ADMISSAO, Boolean.TRUE );
	}

	public String getCategoria()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( CATEGORIA );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.categoria;
	}

	public void setCategoria( String categoria )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( CATEGORIA, categoria );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.categoria = categoria;
		LAZY_LOADED_OBJECTS.put( CATEGORIA, Boolean.TRUE );
	}

	public String getLocal_trabalho()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( LOCAL_TRABALHO );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.local_trabalho;
	}

	public void setLocal_trabalho( String local_trabalho )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( LOCAL_TRABALHO, local_trabalho );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.local_trabalho = local_trabalho;
		LAZY_LOADED_OBJECTS.put( LOCAL_TRABALHO, Boolean.TRUE );
	}

	public String getFuncao_proposta()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( FUNCAO_PROPOSTA );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.funcao_proposta;
	}

	public void setFuncao_proposta( String funcao_proposta )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( FUNCAO_PROPOSTA, funcao_proposta );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.funcao_proposta = funcao_proposta;
		LAZY_LOADED_OBJECTS.put( FUNCAO_PROPOSTA, Boolean.TRUE );
	}

	public java.util.Date getData_admissao_funcao()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( DATA_ADMISSAO_FUNCAO );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.data_admissao_funcao;
	}

	public void setData_admissao_funcao( java.util.Date data_admissao_funcao )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( DATA_ADMISSAO_FUNCAO, data_admissao_funcao );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.data_admissao_funcao = data_admissao_funcao;
		LAZY_LOADED_OBJECTS.put( DATA_ADMISSAO_FUNCAO, Boolean.TRUE );
	}

	public String getObservacoes()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( OBSERVACOES );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.observacoes;
	}

	public void setObservacoes( String observacoes )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( OBSERVACOES, observacoes );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.observacoes = observacoes;
		LAZY_LOADED_OBJECTS.put( OBSERVACOES, Boolean.TRUE );
	}

	public String getInactivo()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( INACTIVO );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.inactivo;
	}

	public void setInactivo( String inactivo )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( INACTIVO, inactivo );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.inactivo = inactivo;
		LAZY_LOADED_OBJECTS.put( INACTIVO, Boolean.TRUE );
	}

	public Integer getEstabelecimento_id()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( ESTABELECIMENTO_ID );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.estabelecimento_id;
	}

	public void setEstabelecimento_id( Integer estabelecimento_id )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( ESTABELECIMENTO_ID, estabelecimento_id );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.estabelecimento_id = estabelecimento_id;
		LAZY_LOADED_OBJECTS.put( ESTABELECIMENTO_ID, Boolean.TRUE );
	}

	public siprp.data.outer.EstabelecimentosData toEstabelecimento_id()
	{
		try
		{
			prepare( TO_ESTABELECIMENTO_ID );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		return this.to_estabelecimento_id;
	}

	public void setToEstabelecimento_id( siprp.data.outer.EstabelecimentosData to_estabelecimento_id )
	{
		try
		{
			preProcess( TO_ESTABELECIMENTO_ID, to_estabelecimento_id );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.to_estabelecimento_id = to_estabelecimento_id;
	}

	public java.util.Date getData_demissao()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( DATA_DEMISSAO );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.data_demissao;
	}

	public void setData_demissao( java.util.Date data_demissao )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( DATA_DEMISSAO, data_demissao );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.data_demissao = data_demissao;
		LAZY_LOADED_OBJECTS.put( DATA_DEMISSAO, Boolean.TRUE );
	}

	public String getObservacoes_gestao()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( OBSERVACOES_GESTAO );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.observacoes_gestao;
	}

	public void setObservacoes_gestao( String observacoes_gestao )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( OBSERVACOES_GESTAO, observacoes_gestao );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.observacoes_gestao = observacoes_gestao;
		LAZY_LOADED_OBJECTS.put( OBSERVACOES_GESTAO, Boolean.TRUE );
	}

	public Integer getPerfil()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( PERFIL );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.perfil;
	}

	public void setPerfil( Integer perfil )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( PERFIL, perfil );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.perfil = perfil;
		LAZY_LOADED_OBJECTS.put( PERFIL, Boolean.TRUE );
	}

	public java.sql.Timestamp getActualizacao()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( ACTUALIZACAO );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.actualizacao;
	}

	public void setActualizacao( java.sql.Timestamp actualizacao )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( ACTUALIZACAO, actualizacao );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.actualizacao = actualizacao;
		LAZY_LOADED_OBJECTS.put( ACTUALIZACAO, Boolean.TRUE );
	}

	public String getNome_plain()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( NOME_PLAIN );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.nome_plain;
	}

	public void setNome_plain( String nome_plain )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( NOME_PLAIN, nome_plain );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.nome_plain = nome_plain;
		LAZY_LOADED_OBJECTS.put( NOME_PLAIN, Boolean.TRUE );
	}

	public String getBi()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( BI );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.bi;
	}

	public void setBi( String bi )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( BI, bi );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.bi = bi;
		LAZY_LOADED_OBJECTS.put( BI, Boolean.TRUE );
	}

	public Object get( String fieldName )
	{
		Object value = null;
		Integer index = getFieldIndex( fieldName );
		switch( index )
		{
			case Trabalhadores.ID_INDEX:
				value = getId();
				break;
			case Trabalhadores.NOME_INDEX:
				value = getNome();
				break;
			case Trabalhadores.SEXO_INDEX:
				value = getSexo();
				break;
			case Trabalhadores.DATA_NASCIMENTO_INDEX:
				value = getData_nascimento();
				break;
			case Trabalhadores.NACIONALIDADE_INDEX:
				value = getNacionalidade();
				break;
			case Trabalhadores.NUMERO_MECANOGRAFICO_INDEX:
				value = getNumero_mecanografico();
				break;
			case Trabalhadores.DATA_ADMISSAO_INDEX:
				value = getData_admissao();
				break;
			case Trabalhadores.CATEGORIA_INDEX:
				value = getCategoria();
				break;
			case Trabalhadores.LOCAL_TRABALHO_INDEX:
				value = getLocal_trabalho();
				break;
			case Trabalhadores.FUNCAO_PROPOSTA_INDEX:
				value = getFuncao_proposta();
				break;
			case Trabalhadores.DATA_ADMISSAO_FUNCAO_INDEX:
				value = getData_admissao_funcao();
				break;
			case Trabalhadores.OBSERVACOES_INDEX:
				value = getObservacoes();
				break;
			case Trabalhadores.INACTIVO_INDEX:
				value = getInactivo();
				break;
			case Trabalhadores.ESTABELECIMENTO_ID_INDEX:
				value = getEstabelecimento_id();
				break;
			case Trabalhadores.TO_ESTABELECIMENTO_ID_INDEX:
				value = toEstabelecimento_id();
				break;
			case Trabalhadores.DATA_DEMISSAO_INDEX:
				value = getData_demissao();
				break;
			case Trabalhadores.OBSERVACOES_GESTAO_INDEX:
				value = getObservacoes_gestao();
				break;
			case Trabalhadores.PERFIL_INDEX:
				value = getPerfil();
				break;
			case Trabalhadores.ACTUALIZACAO_INDEX:
				value = getActualizacao();
				break;
			case Trabalhadores.NOME_PLAIN_INDEX:
				value = getNome_plain();
				break;
			case Trabalhadores.BI_INDEX:
				value = getBi();
				break;
		}
		return value;
	}

	public Object rawGet( String fieldName )
	{
		Object value = null;
		Integer index = getFieldIndex( fieldName );
		switch( index )
		{
			case Trabalhadores.ID_INDEX:
				value = this.id;
				break;
			case Trabalhadores.NOME_INDEX:
				value = this.nome;
				break;
			case Trabalhadores.SEXO_INDEX:
				value = this.sexo;
				break;
			case Trabalhadores.DATA_NASCIMENTO_INDEX:
				value = this.data_nascimento;
				break;
			case Trabalhadores.NACIONALIDADE_INDEX:
				value = this.nacionalidade;
				break;
			case Trabalhadores.NUMERO_MECANOGRAFICO_INDEX:
				value = this.numero_mecanografico;
				break;
			case Trabalhadores.DATA_ADMISSAO_INDEX:
				value = this.data_admissao;
				break;
			case Trabalhadores.CATEGORIA_INDEX:
				value = this.categoria;
				break;
			case Trabalhadores.LOCAL_TRABALHO_INDEX:
				value = this.local_trabalho;
				break;
			case Trabalhadores.FUNCAO_PROPOSTA_INDEX:
				value = this.funcao_proposta;
				break;
			case Trabalhadores.DATA_ADMISSAO_FUNCAO_INDEX:
				value = this.data_admissao_funcao;
				break;
			case Trabalhadores.OBSERVACOES_INDEX:
				value = this.observacoes;
				break;
			case Trabalhadores.INACTIVO_INDEX:
				value = this.inactivo;
				break;
			case Trabalhadores.ESTABELECIMENTO_ID_INDEX:
				value = this.estabelecimento_id;
				break;
			case Trabalhadores.TO_ESTABELECIMENTO_ID_INDEX:
				value = this.to_estabelecimento_id;
				break;
			case Trabalhadores.DATA_DEMISSAO_INDEX:
				value = this.data_demissao;
				break;
			case Trabalhadores.OBSERVACOES_GESTAO_INDEX:
				value = this.observacoes_gestao;
				break;
			case Trabalhadores.PERFIL_INDEX:
				value = this.perfil;
				break;
			case Trabalhadores.ACTUALIZACAO_INDEX:
				value = this.actualizacao;
				break;
			case Trabalhadores.NOME_PLAIN_INDEX:
				value = this.nome_plain;
				break;
			case Trabalhadores.BI_INDEX:
				value = this.bi;
				break;
		}
		return value;
	}

	public void set( String fieldName, Object value )
	{
		Integer index = getFieldIndex( fieldName );
		switch( index )
		{
			case Trabalhadores.ID_INDEX:
				setId( ( Integer ) value );
				break;
			case Trabalhadores.NOME_INDEX:
				setNome( ( String ) value );
				break;
			case Trabalhadores.SEXO_INDEX:
				setSexo( ( String ) value );
				break;
			case Trabalhadores.DATA_NASCIMENTO_INDEX:
				setData_nascimento( ( java.util.Date ) value );
				break;
			case Trabalhadores.NACIONALIDADE_INDEX:
				setNacionalidade( ( String ) value );
				break;
			case Trabalhadores.NUMERO_MECANOGRAFICO_INDEX:
				setNumero_mecanografico( ( String ) value );
				break;
			case Trabalhadores.DATA_ADMISSAO_INDEX:
				setData_admissao( ( java.util.Date ) value );
				break;
			case Trabalhadores.CATEGORIA_INDEX:
				setCategoria( ( String ) value );
				break;
			case Trabalhadores.LOCAL_TRABALHO_INDEX:
				setLocal_trabalho( ( String ) value );
				break;
			case Trabalhadores.FUNCAO_PROPOSTA_INDEX:
				setFuncao_proposta( ( String ) value );
				break;
			case Trabalhadores.DATA_ADMISSAO_FUNCAO_INDEX:
				setData_admissao_funcao( ( java.util.Date ) value );
				break;
			case Trabalhadores.OBSERVACOES_INDEX:
				setObservacoes( ( String ) value );
				break;
			case Trabalhadores.INACTIVO_INDEX:
				setInactivo( ( String ) value );
				break;
			case Trabalhadores.ESTABELECIMENTO_ID_INDEX:
				setEstabelecimento_id( ( Integer ) value );
				break;
			case Trabalhadores.TO_ESTABELECIMENTO_ID_INDEX:
				setToEstabelecimento_id( ( siprp.data.outer.EstabelecimentosData ) value );
				break;
			case Trabalhadores.DATA_DEMISSAO_INDEX:
				setData_demissao( ( java.util.Date ) value );
				break;
			case Trabalhadores.OBSERVACOES_GESTAO_INDEX:
				setObservacoes_gestao( ( String ) value );
				break;
			case Trabalhadores.PERFIL_INDEX:
				setPerfil( ( Integer ) value );
				break;
			case Trabalhadores.ACTUALIZACAO_INDEX:
				setActualizacao( ( java.sql.Timestamp ) value );
				break;
			case Trabalhadores.NOME_PLAIN_INDEX:
				setNome_plain( ( String ) value );
				break;
			case Trabalhadores.BI_INDEX:
				setBi( ( String ) value );
				break;
		}
	}

	public void rawSet( String fieldName, Object value )
	{
		Integer index = getFieldIndex( fieldName );
		switch( index )
		{
			case Trabalhadores.ID_INDEX:
				this.id = ( Integer ) value;
				break;
			case Trabalhadores.NOME_INDEX:
				this.nome = ( String ) value;
				break;
			case Trabalhadores.SEXO_INDEX:
				this.sexo = ( String ) value;
				break;
			case Trabalhadores.DATA_NASCIMENTO_INDEX:
				this.data_nascimento = ( java.util.Date ) value;
				break;
			case Trabalhadores.NACIONALIDADE_INDEX:
				this.nacionalidade = ( String ) value;
				break;
			case Trabalhadores.NUMERO_MECANOGRAFICO_INDEX:
				this.numero_mecanografico = ( String ) value;
				break;
			case Trabalhadores.DATA_ADMISSAO_INDEX:
				this.data_admissao = ( java.util.Date ) value;
				break;
			case Trabalhadores.CATEGORIA_INDEX:
				this.categoria = ( String ) value;
				break;
			case Trabalhadores.LOCAL_TRABALHO_INDEX:
				this.local_trabalho = ( String ) value;
				break;
			case Trabalhadores.FUNCAO_PROPOSTA_INDEX:
				this.funcao_proposta = ( String ) value;
				break;
			case Trabalhadores.DATA_ADMISSAO_FUNCAO_INDEX:
				this.data_admissao_funcao = ( java.util.Date ) value;
				break;
			case Trabalhadores.OBSERVACOES_INDEX:
				this.observacoes = ( String ) value;
				break;
			case Trabalhadores.INACTIVO_INDEX:
				this.inactivo = ( String ) value;
				break;
			case Trabalhadores.ESTABELECIMENTO_ID_INDEX:
				this.estabelecimento_id = ( Integer ) value;
				break;
			case Trabalhadores.TO_ESTABELECIMENTO_ID_INDEX:
				this.to_estabelecimento_id = ( siprp.data.outer.EstabelecimentosData ) value;
				break;
			case Trabalhadores.DATA_DEMISSAO_INDEX:
				this.data_demissao = ( java.util.Date ) value;
				break;
			case Trabalhadores.OBSERVACOES_GESTAO_INDEX:
				this.observacoes_gestao = ( String ) value;
				break;
			case Trabalhadores.PERFIL_INDEX:
				this.perfil = ( Integer ) value;
				break;
			case Trabalhadores.ACTUALIZACAO_INDEX:
				this.actualizacao = ( java.sql.Timestamp ) value;
				break;
			case Trabalhadores.NOME_PLAIN_INDEX:
				this.nome_plain = ( String ) value;
				break;
			case Trabalhadores.BI_INDEX:
				this.bi = ( String ) value;
				break;
		}
	}

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

	public String []getFieldNamesFull()
	{
		return FIELD_NAMES_FULL;
	}

	public String []getDBFieldNames()
	{
		return DB_FIELD_NAMES;
	}

	public String []getPrimaryKeyNames()
	{
		return PK_FIELD_NAMES;
	}

	public String []getDefaultLoadSet()
	{
		return DEFAULT_LOAD_SET;
	}

	public String getPrimaryKeyName()
	{
		return PK_FIELD_NAMES[ 0 ];
	}

	public Class<?> getFieldClass( String fieldName )
	{
		Integer index = getFieldIndex( fieldName );
		Class<?> theClass = null;
		switch( index )
		{
			case Trabalhadores.ID_INDEX:
				theClass = Integer.class;
				break;
			case Trabalhadores.NOME_INDEX:
				theClass = String.class;
				break;
			case Trabalhadores.SEXO_INDEX:
				theClass = String.class;
				break;
			case Trabalhadores.DATA_NASCIMENTO_INDEX:
				theClass = java.util.Date.class;
				break;
			case Trabalhadores.NACIONALIDADE_INDEX:
				theClass = String.class;
				break;
			case Trabalhadores.NUMERO_MECANOGRAFICO_INDEX:
				theClass = String.class;
				break;
			case Trabalhadores.DATA_ADMISSAO_INDEX:
				theClass = java.util.Date.class;
				break;
			case Trabalhadores.CATEGORIA_INDEX:
				theClass = String.class;
				break;
			case Trabalhadores.LOCAL_TRABALHO_INDEX:
				theClass = String.class;
				break;
			case Trabalhadores.FUNCAO_PROPOSTA_INDEX:
				theClass = String.class;
				break;
			case Trabalhadores.DATA_ADMISSAO_FUNCAO_INDEX:
				theClass = java.util.Date.class;
				break;
			case Trabalhadores.OBSERVACOES_INDEX:
				theClass = String.class;
				break;
			case Trabalhadores.INACTIVO_INDEX:
				theClass = String.class;
				break;
			case Trabalhadores.ESTABELECIMENTO_ID_INDEX:
				theClass = Integer.class;
				break;
			case Trabalhadores.TO_ESTABELECIMENTO_ID_INDEX:
				theClass = siprp.data.outer.EstabelecimentosData.class;
				break;
			case Trabalhadores.DATA_DEMISSAO_INDEX:
				theClass = java.util.Date.class;
				break;
			case Trabalhadores.OBSERVACOES_GESTAO_INDEX:
				theClass = String.class;
				break;
			case Trabalhadores.PERFIL_INDEX:
				theClass = Integer.class;
				break;
			case Trabalhadores.ACTUALIZACAO_INDEX:
				theClass = java.sql.Timestamp.class;
				break;
			case Trabalhadores.NOME_PLAIN_INDEX:
				theClass = String.class;
				break;
			case Trabalhadores.BI_INDEX:
				theClass = String.class;
				break;
		}
		return theClass;
	}

	public Integer getFieldIndex( String fieldName )
	{
		Integer index = FIELD_INDEXES.get( fieldName );
		return index != null ? index : Trabalhadores._INVALID__INDEX;
	}

	public String getTableName()
	{
		return TABLENAME;
	}

	public String getClassIdentifier()
	{
		return CLASS_IDENTIFIER;
	}

	@Override
	protected void setPrimaryKeyFromVirtual2DArray( com.evolute.utils.arrays.Virtual2DArray array, int row, int col )
	{
		if( primaryKey == null )
		{
			primaryKey = new com.evolute.entity.utils.IntegerPrimaryKey( TABLENAME, Trabalhadores.PK_FIELD_NAMES );
			primaryKey.set( 0, getId() );
		}
	}

	@Override
	public com.evolute.entity.utils.IntegerPrimaryKey getPrimaryKey()
	{
		return primaryKey;
	}

	public void initLazyLoadFields()
	{
	}

	public boolean isPropertyLoaded( String fieldName )
	{
		if ( LAZY_LOADED_OBJECTS.get( fieldName ) == null )
		{
			return true;
		}
		else
		{
			return LAZY_LOADED_OBJECTS.get( fieldName );
		}
	}
}
