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


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

	static
	{
		FIELD_INDEXES.put( Prestadores.ID, Prestadores.ID_INDEX );
		FIELD_INDEXES.put( Prestadores.ID_FULL, Prestadores.ID_INDEX );
		FIELD_INDEXES.put( Prestadores.NOME, Prestadores.NOME_INDEX );
		FIELD_INDEXES.put( Prestadores.NOME_FULL, Prestadores.NOME_INDEX );
		FIELD_INDEXES.put( Prestadores.NOME_PLAIN, Prestadores.NOME_PLAIN_INDEX );
		FIELD_INDEXES.put( Prestadores.NOME_PLAIN_FULL, Prestadores.NOME_PLAIN_INDEX );
		FIELD_INDEXES.put( Prestadores.MORADA, Prestadores.MORADA_INDEX );
		FIELD_INDEXES.put( Prestadores.MORADA_FULL, Prestadores.MORADA_INDEX );
		FIELD_INDEXES.put( Prestadores.CODIGO_POSTAL, Prestadores.CODIGO_POSTAL_INDEX );
		FIELD_INDEXES.put( Prestadores.CODIGO_POSTAL_FULL, Prestadores.CODIGO_POSTAL_INDEX );
		FIELD_INDEXES.put( Prestadores.LOCALIDADE, Prestadores.LOCALIDADE_INDEX );
		FIELD_INDEXES.put( Prestadores.LOCALIDADE_FULL, Prestadores.LOCALIDADE_INDEX );
		FIELD_INDEXES.put( Prestadores.LOCALIDADE_CP, Prestadores.LOCALIDADE_CP_INDEX );
		FIELD_INDEXES.put( Prestadores.LOCALIDADE_CP_FULL, Prestadores.LOCALIDADE_CP_INDEX );
		com.evolute.entity.evo.EvoDataObject.register( Prestadores.CLASS_IDENTIFIER, Prestadores.CONTACTO_ID, Prestadores.TO_CONTACTO_ID ); 
		FIELD_INDEXES.put( Prestadores.CONTACTO_ID, Prestadores.CONTACTO_ID_INDEX );
		FIELD_INDEXES.put( Prestadores.CONTACTO_ID_FULL, Prestadores.CONTACTO_ID_INDEX );
		FIELD_INDEXES.put( Prestadores.TO_CONTACTO_ID, Prestadores.TO_CONTACTO_ID_INDEX );
		FIELD_INDEXES.put( Prestadores.ACTIVO, Prestadores.ACTIVO_INDEX );
		FIELD_INDEXES.put( Prestadores.ACTIVO_FULL, Prestadores.ACTIVO_INDEX );
		FIELD_INDEXES.put( Prestadores.FAZ_CONSULTAS, Prestadores.FAZ_CONSULTAS_INDEX );
		FIELD_INDEXES.put( Prestadores.FAZ_CONSULTAS_FULL, Prestadores.FAZ_CONSULTAS_INDEX );
		FIELD_INDEXES.put( Prestadores.FAZ_ECDS, Prestadores.FAZ_ECDS_INDEX );
		FIELD_INDEXES.put( Prestadores.FAZ_ECDS_FULL, Prestadores.FAZ_ECDS_INDEX );
		FIELD_INDEXES.put( Prestadores.CONTRIBUINTE, Prestadores.CONTRIBUINTE_INDEX );
		FIELD_INDEXES.put( Prestadores.CONTRIBUINTE_FULL, Prestadores.CONTRIBUINTE_INDEX );
		FIELD_INDEXES.put( Prestadores.OBSERVACOES, Prestadores.OBSERVACOES_INDEX );
		FIELD_INDEXES.put( Prestadores.OBSERVACOES_FULL, Prestadores.OBSERVACOES_INDEX );
	}

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


	public static final com.evolute.entity.ForeignKey ForeignKeycontacto_idTocontactos = 
		new com.evolute.entity.ForeignKey( Prestadores.class, Prestadores.CONTACTO_ID, siprp.data.outer.ContactosData.class, siprp.data.outer.ContactosData.ID );

	public static final String TABLENAME = "prestadores";


	public static final String CLASS_IDENTIFIER = "prestadores1277401737180";

	public static final int _INVALID__INDEX = -1;
	public static final String ID = "id";
	public static final String ID_FULL = "prestadores.id";
	public static final int ID_INDEX = 0;
	public static final String NOME = "nome";
	public static final String NOME_FULL = "prestadores.nome";
	public static final int NOME_INDEX = 1;
	public static final String NOME_PLAIN = "nome_plain";
	public static final String NOME_PLAIN_FULL = "prestadores.nome_plain";
	public static final int NOME_PLAIN_INDEX = 2;
	public static final String MORADA = "morada";
	public static final String MORADA_FULL = "prestadores.morada";
	public static final int MORADA_INDEX = 3;
	public static final String CODIGO_POSTAL = "codigo_postal";
	public static final String CODIGO_POSTAL_FULL = "prestadores.codigo_postal";
	public static final int CODIGO_POSTAL_INDEX = 4;
	public static final String LOCALIDADE = "localidade";
	public static final String LOCALIDADE_FULL = "prestadores.localidade";
	public static final int LOCALIDADE_INDEX = 5;
	public static final String LOCALIDADE_CP = "localidade_cp";
	public static final String LOCALIDADE_CP_FULL = "prestadores.localidade_cp";
	public static final int LOCALIDADE_CP_INDEX = 6;
	public static final String CONTACTO_ID = "contacto_id";
	public static final String CONTACTO_ID_FULL = "prestadores.contacto_id";
	public static final int CONTACTO_ID_INDEX = 7;
	public static final String TO_CONTACTO_ID = "to_contacto_id";
	public static final int TO_CONTACTO_ID_INDEX = 8;
	public static final String ACTIVO = "activo";
	public static final String ACTIVO_FULL = "prestadores.activo";
	public static final int ACTIVO_INDEX = 9;
	public static final String FAZ_CONSULTAS = "faz_consultas";
	public static final String FAZ_CONSULTAS_FULL = "prestadores.faz_consultas";
	public static final int FAZ_CONSULTAS_INDEX = 10;
	public static final String FAZ_ECDS = "faz_ecds";
	public static final String FAZ_ECDS_FULL = "prestadores.faz_ecds";
	public static final int FAZ_ECDS_INDEX = 11;
	public static final String CONTRIBUINTE = "contribuinte";
	public static final String CONTRIBUINTE_FULL = "prestadores.contribuinte";
	public static final int CONTRIBUINTE_INDEX = 12;
	public static final String OBSERVACOES = "observacoes";
	public static final String OBSERVACOES_FULL = "prestadores.observacoes";
	public static final int OBSERVACOES_INDEX = 13;

	public static final String FIELD_NAMES[] = new String[]{
		NOME, NOME_PLAIN, MORADA, CODIGO_POSTAL, LOCALIDADE, LOCALIDADE_CP, CONTACTO_ID, 
		TO_CONTACTO_ID, ACTIVO, FAZ_CONSULTAS, FAZ_ECDS, CONTRIBUINTE, OBSERVACOES, };

	public static final String FIELD_NAMES_FULL[] = new String[]{
		TABLENAME + "." + NOME, TABLENAME + "." + NOME_PLAIN, TABLENAME + "." + MORADA, TABLENAME + "." + CODIGO_POSTAL, TABLENAME + "." + LOCALIDADE, TABLENAME + "." + LOCALIDADE_CP, TABLENAME + "." + CONTACTO_ID, 
		TABLENAME + "." + TO_CONTACTO_ID, TABLENAME + "." + ACTIVO, TABLENAME + "." + FAZ_CONSULTAS, TABLENAME + "." + FAZ_ECDS, TABLENAME + "." + CONTRIBUINTE, TABLENAME + "." + OBSERVACOES, };

	protected static final String DB_FIELD_NAMES[] = new String[]{
		ID, NOME, NOME_PLAIN, MORADA, CODIGO_POSTAL, LOCALIDADE, LOCALIDADE_CP, CONTACTO_ID, 
		ACTIVO, FAZ_CONSULTAS, FAZ_ECDS, CONTRIBUINTE, OBSERVACOES, };


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


	public static final String DEFAULT_LOAD_SET[] = new String[] {
		ID, NOME, NOME_PLAIN, MORADA, CODIGO_POSTAL, LOCALIDADE, LOCALIDADE_CP, CONTACTO_ID, 
		ACTIVO, FAZ_CONSULTAS, FAZ_ECDS, CONTRIBUINTE, OBSERVACOES, };

	private Integer id;
	private String nome;
	private String nome_plain;
	private String morada;
	private String codigo_postal;
	private String localidade;
	private String localidade_cp;
	private Integer contacto_id;
	private siprp.data.outer.ContactosData to_contacto_id;
	private String activo;
	private String faz_consultas;
	private String faz_ecds;
	private String contribuinte;
	private String observacoes;

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

	public Prestadores()
	{
		super();
		dirtyProperties = new boolean[]{ 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.EstabelecimentosData>fromEstabelecimentos_prestador_consulta_id()
	{
		java.util.List<siprp.data.outer.EstabelecimentosData> result = null;
		try
		{
			result = fromReference( siprp.data.outer.EstabelecimentosData.class , getPrimaryKey().getMap().get("id"), "prestador_consulta_id" );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		return result;
	}

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

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

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

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

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

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

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

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

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

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

	public java.util.List<siprp.data.outer.TrabalhadoresEcdsDatasData>fromTrabalhadoresEcdsDatas_analisador_id()
	{
		java.util.List<siprp.data.outer.TrabalhadoresEcdsDatasData> result = null;
		try
		{
			result = fromReference( siprp.data.outer.TrabalhadoresEcdsDatasData.class , getPrimaryKey().getMap().get("id"), "analisador_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 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 getMorada()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( MORADA );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.morada;
	}

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

	public String getCodigo_postal()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( CODIGO_POSTAL );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.codigo_postal;
	}

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

	public String getLocalidade()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( LOCALIDADE );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.localidade;
	}

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

	public String getLocalidade_cp()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( LOCALIDADE_CP );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.localidade_cp;
	}

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

	public Integer getContacto_id()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( CONTACTO_ID );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.contacto_id;
	}

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

	public siprp.data.outer.ContactosData toContacto_id()
	{
		try
		{
			prepare( TO_CONTACTO_ID );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		return this.to_contacto_id;
	}

	public void setToContacto_id( siprp.data.outer.ContactosData to_contacto_id )
	{
		try
		{
			preProcess( TO_CONTACTO_ID, to_contacto_id );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.to_contacto_id = to_contacto_id;
	}

	public String getActivo()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( ACTIVO );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.activo;
	}

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

	public String getFaz_consultas()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( FAZ_CONSULTAS );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.faz_consultas;
	}

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

	public String getFaz_ecds()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( FAZ_ECDS );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.faz_ecds;
	}

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

	public String getContribuinte()
	{
		try
		{
			setLastAccess( System.currentTimeMillis() );
			prepare( CONTRIBUINTE );
		}
		catch( java.lang.Exception ex )
		{
			throw new RuntimeException( ex );
		}
		return this.contribuinte;
	}

	public void setContribuinte( String contribuinte )
	{
		try
		{
			setLockedForRefresh( true );
			preProcess( CONTRIBUINTE, contribuinte );
		}
		catch( com.evolute.entity.evo.EvoDataException edex )
		{
			throw new RuntimeException( edex );
		}
		this.contribuinte = contribuinte;
		LAZY_LOADED_OBJECTS.put( CONTRIBUINTE, 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 Object get( String fieldName )
	{
		Object value = null;
		Integer index = getFieldIndex( fieldName );
		switch( index )
		{
			case Prestadores.ID_INDEX:
				value = getId();
				break;
			case Prestadores.NOME_INDEX:
				value = getNome();
				break;
			case Prestadores.NOME_PLAIN_INDEX:
				value = getNome_plain();
				break;
			case Prestadores.MORADA_INDEX:
				value = getMorada();
				break;
			case Prestadores.CODIGO_POSTAL_INDEX:
				value = getCodigo_postal();
				break;
			case Prestadores.LOCALIDADE_INDEX:
				value = getLocalidade();
				break;
			case Prestadores.LOCALIDADE_CP_INDEX:
				value = getLocalidade_cp();
				break;
			case Prestadores.CONTACTO_ID_INDEX:
				value = getContacto_id();
				break;
			case Prestadores.TO_CONTACTO_ID_INDEX:
				value = toContacto_id();
				break;
			case Prestadores.ACTIVO_INDEX:
				value = getActivo();
				break;
			case Prestadores.FAZ_CONSULTAS_INDEX:
				value = getFaz_consultas();
				break;
			case Prestadores.FAZ_ECDS_INDEX:
				value = getFaz_ecds();
				break;
			case Prestadores.CONTRIBUINTE_INDEX:
				value = getContribuinte();
				break;
			case Prestadores.OBSERVACOES_INDEX:
				value = getObservacoes();
				break;
		}
		return value;
	}

	public Object rawGet( String fieldName )
	{
		Object value = null;
		Integer index = getFieldIndex( fieldName );
		switch( index )
		{
			case Prestadores.ID_INDEX:
				value = this.id;
				break;
			case Prestadores.NOME_INDEX:
				value = this.nome;
				break;
			case Prestadores.NOME_PLAIN_INDEX:
				value = this.nome_plain;
				break;
			case Prestadores.MORADA_INDEX:
				value = this.morada;
				break;
			case Prestadores.CODIGO_POSTAL_INDEX:
				value = this.codigo_postal;
				break;
			case Prestadores.LOCALIDADE_INDEX:
				value = this.localidade;
				break;
			case Prestadores.LOCALIDADE_CP_INDEX:
				value = this.localidade_cp;
				break;
			case Prestadores.CONTACTO_ID_INDEX:
				value = this.contacto_id;
				break;
			case Prestadores.TO_CONTACTO_ID_INDEX:
				value = this.to_contacto_id;
				break;
			case Prestadores.ACTIVO_INDEX:
				value = this.activo;
				break;
			case Prestadores.FAZ_CONSULTAS_INDEX:
				value = this.faz_consultas;
				break;
			case Prestadores.FAZ_ECDS_INDEX:
				value = this.faz_ecds;
				break;
			case Prestadores.CONTRIBUINTE_INDEX:
				value = this.contribuinte;
				break;
			case Prestadores.OBSERVACOES_INDEX:
				value = this.observacoes;
				break;
		}
		return value;
	}

	public void set( String fieldName, Object value )
	{
		Integer index = getFieldIndex( fieldName );
		switch( index )
		{
			case Prestadores.ID_INDEX:
				setId( ( Integer ) value );
				break;
			case Prestadores.NOME_INDEX:
				setNome( ( String ) value );
				break;
			case Prestadores.NOME_PLAIN_INDEX:
				setNome_plain( ( String ) value );
				break;
			case Prestadores.MORADA_INDEX:
				setMorada( ( String ) value );
				break;
			case Prestadores.CODIGO_POSTAL_INDEX:
				setCodigo_postal( ( String ) value );
				break;
			case Prestadores.LOCALIDADE_INDEX:
				setLocalidade( ( String ) value );
				break;
			case Prestadores.LOCALIDADE_CP_INDEX:
				setLocalidade_cp( ( String ) value );
				break;
			case Prestadores.CONTACTO_ID_INDEX:
				setContacto_id( ( Integer ) value );
				break;
			case Prestadores.TO_CONTACTO_ID_INDEX:
				setToContacto_id( ( siprp.data.outer.ContactosData ) value );
				break;
			case Prestadores.ACTIVO_INDEX:
				setActivo( ( String ) value );
				break;
			case Prestadores.FAZ_CONSULTAS_INDEX:
				setFaz_consultas( ( String ) value );
				break;
			case Prestadores.FAZ_ECDS_INDEX:
				setFaz_ecds( ( String ) value );
				break;
			case Prestadores.CONTRIBUINTE_INDEX:
				setContribuinte( ( String ) value );
				break;
			case Prestadores.OBSERVACOES_INDEX:
				setObservacoes( ( String ) value );
				break;
		}
	}

	public void rawSet( String fieldName, Object value )
	{
		Integer index = getFieldIndex( fieldName );
		switch( index )
		{
			case Prestadores.ID_INDEX:
				this.id = ( Integer ) value;
				break;
			case Prestadores.NOME_INDEX:
				this.nome = ( String ) value;
				break;
			case Prestadores.NOME_PLAIN_INDEX:
				this.nome_plain = ( String ) value;
				break;
			case Prestadores.MORADA_INDEX:
				this.morada = ( String ) value;
				break;
			case Prestadores.CODIGO_POSTAL_INDEX:
				this.codigo_postal = ( String ) value;
				break;
			case Prestadores.LOCALIDADE_INDEX:
				this.localidade = ( String ) value;
				break;
			case Prestadores.LOCALIDADE_CP_INDEX:
				this.localidade_cp = ( String ) value;
				break;
			case Prestadores.CONTACTO_ID_INDEX:
				this.contacto_id = ( Integer ) value;
				break;
			case Prestadores.TO_CONTACTO_ID_INDEX:
				this.to_contacto_id = ( siprp.data.outer.ContactosData ) value;
				break;
			case Prestadores.ACTIVO_INDEX:
				this.activo = ( String ) value;
				break;
			case Prestadores.FAZ_CONSULTAS_INDEX:
				this.faz_consultas = ( String ) value;
				break;
			case Prestadores.FAZ_ECDS_INDEX:
				this.faz_ecds = ( String ) value;
				break;
			case Prestadores.CONTRIBUINTE_INDEX:
				this.contribuinte = ( String ) value;
				break;
			case Prestadores.OBSERVACOES_INDEX:
				this.observacoes = ( 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 Prestadores.ID_INDEX:
				theClass = Integer.class;
				break;
			case Prestadores.NOME_INDEX:
				theClass = String.class;
				break;
			case Prestadores.NOME_PLAIN_INDEX:
				theClass = String.class;
				break;
			case Prestadores.MORADA_INDEX:
				theClass = String.class;
				break;
			case Prestadores.CODIGO_POSTAL_INDEX:
				theClass = String.class;
				break;
			case Prestadores.LOCALIDADE_INDEX:
				theClass = String.class;
				break;
			case Prestadores.LOCALIDADE_CP_INDEX:
				theClass = String.class;
				break;
			case Prestadores.CONTACTO_ID_INDEX:
				theClass = Integer.class;
				break;
			case Prestadores.TO_CONTACTO_ID_INDEX:
				theClass = siprp.data.outer.ContactosData.class;
				break;
			case Prestadores.ACTIVO_INDEX:
				theClass = String.class;
				break;
			case Prestadores.FAZ_CONSULTAS_INDEX:
				theClass = String.class;
				break;
			case Prestadores.FAZ_ECDS_INDEX:
				theClass = String.class;
				break;
			case Prestadores.CONTRIBUINTE_INDEX:
				theClass = String.class;
				break;
			case Prestadores.OBSERVACOES_INDEX:
				theClass = String.class;
				break;
		}
		return theClass;
	}

	public Integer getFieldIndex( String fieldName )
	{
		Integer index = FIELD_INDEXES.get( fieldName );
		return index != null ? index : Prestadores._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, Prestadores.PK_FIELD_NAMES );
			primaryKey.set( 0, ( Integer ) array.get( row, col + 0 ) );
		}
		setId( ( Integer ) array.get( row, col + 0 ) );
	}

	@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 );
		}
	}
}
