/*
* PlanosActuacaoDataAuto.java
*
* Generated by com.evutils.codegen.JDOObjectGenerator
*
* Use but DON'T TOUCH
*/
package com.evolute.siprp.server.db.data.siprp;

import com.evolute.utils.jdo.*;
import java.util.HashMap;
import java.util.Map;

class PlanosActuacaoDataAuto extends JDOObject
{

	public static final String TABLENAME = "planos_actuacao";

	public static final String ESTABELECIMENTO_ID = "estabelecimento_id";
	public static final String ESTABELECIMENTO_ID_FULL = "planos_actuacao.estabelecimento_id";
	public static final String FASE = "fase";
	public static final String FASE_FULL = "planos_actuacao.fase";
	public static final String DATA_VISITA = "data_visita";
	public static final String DATA_VISITA_FULL = "planos_actuacao.data_visita";
	public static final String NOME_ESTABELECIMENTO = "nome_estabelecimento";
	public static final String NOME_ESTABELECIMENTO_FULL = "planos_actuacao.nome_estabelecimento";
	public static final String VALIDACAO_DIRECTOR_LOJA = "validacao_director_loja";
	public static final String VALIDACAO_DIRECTOR_LOJA_FULL = "planos_actuacao.validacao_director_loja";
	public static final String VALIDACAO_DNS = "validacao_dns";
	public static final String VALIDACAO_DNS_FULL = "planos_actuacao.validacao_dns";
	public static final String VALIDACAO_HS = "validacao_hs";
	public static final String VALIDACAO_HS_FULL = "planos_actuacao.validacao_hs";
	public static final String PARECER_DNS = "parecer_dns";
	public static final String PARECER_DNS_FULL = "planos_actuacao.parecer_dns";
	public static final String OBS_CORRECAO = "obs_correcao";
	public static final String OBS_CORRECAO_FULL = "planos_actuacao.obs_correcao";
	public static final String DATA_VALIDACAO_DIR_LOJA = "data_validacao_dir_loja";
	public static final String DATA_VALIDACAO_DIR_LOJA_FULL = "planos_actuacao.data_validacao_dir_loja";
	public static final String USER_DIR_LOJA = "user_dir_loja";
	public static final String USER_DIR_LOJA_FULL = "planos_actuacao.user_dir_loja";
	public static final String TO_USER_DIR_LOJA = "to user_dir_loja";
	public static final String DATA_VALIDACAO_DNS = "data_validacao_dns";
	public static final String DATA_VALIDACAO_DNS_FULL = "planos_actuacao.data_validacao_dns";
	public static final String USER_DNS = "user_dns";
	public static final String USER_DNS_FULL = "planos_actuacao.user_dns";
	public static final String TO_USER_DNS = "to user_dns";
	public static final String DATA_VALIDACAO_HS = "data_validacao_hs";
	public static final String DATA_VALIDACAO_HS_FULL = "planos_actuacao.data_validacao_hs";
	public static final String USER_HS = "user_hs";
	public static final String USER_HS_FULL = "planos_actuacao.user_hs";
	public static final String TO_USER_HS = "to user_hs";
	public static final String FASE_ANTES_CORRECAO = "fase_antes_correcao";
	public static final String FASE_ANTES_CORRECAO_FULL = "planos_actuacao.fase_antes_correcao";
	public static final String CORRECAO = "correcao";
	public static final String CORRECAO_FULL = "planos_actuacao.correcao";
	public static final String OBSERVACOES_DL = "observacoes_dl";
	public static final String OBSERVACOES_DL_FULL = "planos_actuacao.observacoes_dl";
	public static final String OBSERVACOES_DNS = "observacoes_dns";
	public static final String OBSERVACOES_DNS_FULL = "planos_actuacao.observacoes_dns";
	public static final String VERIFICACAO_SIPRP = "verificacao_siprp";
	public static final String VERIFICACAO_SIPRP_FULL = "planos_actuacao.verificacao_siprp";
	public static final String DATA_CONTROLO = "data_controlo";
	public static final String DATA_CONTROLO_FULL = "planos_actuacao.data_controlo";
	public static final String DATA_EMAIL_CONTROLO = "data_email_controlo";
	public static final String DATA_EMAIL_CONTROLO_FULL = "planos_actuacao.data_email_controlo";
	public static final String EMPRESA_ID = "empresa_id";
	public static final String EMPRESA_ID_FULL = "planos_actuacao.empresa_id";
	public static final String NOME_EMPRESA = "nome_empresa";
	public static final String NOME_EMPRESA_FULL = "planos_actuacao.nome_empresa";
	public static final String TECNICO_HS_ID = "tecnico_hs_id";
	public static final String TECNICO_HS_ID_FULL = "planos_actuacao.tecnico_hs_id";
	public static final String TECNICO_HS_NOME = "tecnico_hs_nome";
	public static final String TECNICO_HS_NOME_FULL = "planos_actuacao.tecnico_hs_nome";
	public static final String ID = "id";
	public static final String ID_FULL = "planos_actuacao.id";
	public static final String DATA_RELATORIO = "data_relatorio";
	public static final String DATA_RELATORIO_FULL = "planos_actuacao.data_relatorio";

	public static final String FIELD_NAMES[] = new String[]{
		ESTABELECIMENTO_ID, FASE, DATA_VISITA, NOME_ESTABELECIMENTO, 
		VALIDACAO_DIRECTOR_LOJA, VALIDACAO_DNS, VALIDACAO_HS, PARECER_DNS, 
		OBS_CORRECAO, DATA_VALIDACAO_DIR_LOJA, USER_DIR_LOJA, TO_USER_DIR_LOJA, 
		DATA_VALIDACAO_DNS, USER_DNS, TO_USER_DNS, DATA_VALIDACAO_HS, USER_HS, 
		TO_USER_HS, FASE_ANTES_CORRECAO, CORRECAO, OBSERVACOES_DL, OBSERVACOES_DNS, 
		VERIFICACAO_SIPRP, DATA_CONTROLO, DATA_EMAIL_CONTROLO, EMPRESA_ID, 
		NOME_EMPRESA, TECNICO_HS_ID, TECNICO_HS_NOME, DATA_RELATORIO, };


	protected static final String ALL_FIELD_NAMES[] = new String[]{
		ESTABELECIMENTO_ID, FASE, DATA_VISITA, NOME_ESTABELECIMENTO, 
		VALIDACAO_DIRECTOR_LOJA, VALIDACAO_DNS, VALIDACAO_HS, PARECER_DNS, 
		OBS_CORRECAO, DATA_VALIDACAO_DIR_LOJA, USER_DIR_LOJA, DATA_VALIDACAO_DNS, 
		USER_DNS, DATA_VALIDACAO_HS, USER_HS, FASE_ANTES_CORRECAO, CORRECAO, 
		OBSERVACOES_DL, OBSERVACOES_DNS, VERIFICACAO_SIPRP, DATA_CONTROLO, 
		DATA_EMAIL_CONTROLO, EMPRESA_ID, NOME_EMPRESA, TECNICO_HS_ID, TECNICO_HS_NOME, 
		ID, DATA_RELATORIO, };

	private Map<String, Object> dataHash;

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

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

	public void setEstabelecimento_id(Integer estabelecimento_idValue )
	{
		this.set(ESTABELECIMENTO_ID, estabelecimento_idValue );
	}

	public Integer getFase()
	{
		return (Integer) get(FASE);
	}

	public void setFase(Integer faseValue )
	{
		this.set(FASE, faseValue );
	}

	public java.util.Date getData_visita()
	{
		return (java.util.Date) get(DATA_VISITA);
	}

	public void setData_visita(java.util.Date data_visitaValue )
	{
		this.set(DATA_VISITA, data_visitaValue );
	}

	public String getNome_estabelecimento()
	{
		return (String) get(NOME_ESTABELECIMENTO);
	}

	public void setNome_estabelecimento(String nome_estabelecimentoValue )
	{
		this.set(NOME_ESTABELECIMENTO, nome_estabelecimentoValue );
	}

	public Boolean getValidacao_director_loja()
	{
		return (Boolean) get(VALIDACAO_DIRECTOR_LOJA);
	}

	public void setValidacao_director_loja(Boolean validacao_director_lojaValue )
	{
		this.set(VALIDACAO_DIRECTOR_LOJA, validacao_director_lojaValue );
	}

	public Boolean getValidacao_dns()
	{
		return (Boolean) get(VALIDACAO_DNS);
	}

	public void setValidacao_dns(Boolean validacao_dnsValue )
	{
		this.set(VALIDACAO_DNS, validacao_dnsValue );
	}

	public Boolean getValidacao_hs()
	{
		return (Boolean) get(VALIDACAO_HS);
	}

	public void setValidacao_hs(Boolean validacao_hsValue )
	{
		this.set(VALIDACAO_HS, validacao_hsValue );
	}

	public String getParecer_dns()
	{
		return (String) get(PARECER_DNS);
	}

	public void setParecer_dns(String parecer_dnsValue )
	{
		this.set(PARECER_DNS, parecer_dnsValue );
	}

	public String getObs_correcao()
	{
		return (String) get(OBS_CORRECAO);
	}

	public void setObs_correcao(String obs_correcaoValue )
	{
		this.set(OBS_CORRECAO, obs_correcaoValue );
	}

	public java.util.Date getData_validacao_dir_loja()
	{
		return (java.util.Date) get(DATA_VALIDACAO_DIR_LOJA);
	}

	public void setData_validacao_dir_loja(java.util.Date data_validacao_dir_lojaValue )
	{
		this.set(DATA_VALIDACAO_DIR_LOJA, data_validacao_dir_lojaValue );
	}

	public Integer getUser_dir_loja()
	{
		return (Integer) dataHash.get(USER_DIR_LOJA);
	}

	public void setUser_dir_loja(Integer user_dir_lojaValue )
	{
		dataHash.put(TO_USER_DIR_LOJA, null);
		dataHash.put(USER_DIR_LOJA, user_dir_lojaValue );
	}

	public com.evolute.siprp.server.db.data.siprp.UtilizadoresData toUser_dir_loja()
		throws Exception
	{
		if( dataHash.get(TO_USER_DIR_LOJA) == null && getUser_dir_loja() != null )
		{
			dataHash.put(TO_USER_DIR_LOJA, getJDOProvider().load(com.evolute.siprp.server.db.data.siprp.UtilizadoresData.class, new Object[]{ getUser_dir_loja() }, new String[]{ com.evolute.siprp.server.db.data.siprp.UtilizadoresData.ID }));
		}
		return (com.evolute.siprp.server.db.data.siprp.UtilizadoresData) dataHash.get(TO_USER_DIR_LOJA);
	}

	public void setToUser_dir_loja(com.evolute.siprp.server.db.data.siprp.UtilizadoresData user_dir_lojaObject )
	{
		if( user_dir_lojaObject == null )
		{
			dataHash.put(USER_DIR_LOJA, null);
		}
		else
		{
			dataHash.put(USER_DIR_LOJA, user_dir_lojaObject.get( com.evolute.siprp.server.db.data.siprp.UtilizadoresData.ID ));
		}
		dataHash.put(TO_USER_DIR_LOJA, user_dir_lojaObject);
	}

	public java.util.Date getData_validacao_dns()
	{
		return (java.util.Date) get(DATA_VALIDACAO_DNS);
	}

	public void setData_validacao_dns(java.util.Date data_validacao_dnsValue )
	{
		this.set(DATA_VALIDACAO_DNS, data_validacao_dnsValue );
	}

	public Integer getUser_dns()
	{
		return (Integer) dataHash.get(USER_DNS);
	}

	public void setUser_dns(Integer user_dnsValue )
	{
		dataHash.put(TO_USER_DNS, null);
		dataHash.put(USER_DNS, user_dnsValue );
	}

	public com.evolute.siprp.server.db.data.siprp.UtilizadoresData toUser_dns()
		throws Exception
	{
		if( dataHash.get(TO_USER_DNS) == null && getUser_dns() != null )
		{
			dataHash.put(TO_USER_DNS, getJDOProvider().load(com.evolute.siprp.server.db.data.siprp.UtilizadoresData.class, new Object[]{ getUser_dns() }, new String[]{ com.evolute.siprp.server.db.data.siprp.UtilizadoresData.ID }));
		}
		return (com.evolute.siprp.server.db.data.siprp.UtilizadoresData) dataHash.get(TO_USER_DNS);
	}

	public void setToUser_dns(com.evolute.siprp.server.db.data.siprp.UtilizadoresData user_dnsObject )
	{
		if( user_dnsObject == null )
		{
			dataHash.put(USER_DNS, null);
		}
		else
		{
			dataHash.put(USER_DNS, user_dnsObject.get( com.evolute.siprp.server.db.data.siprp.UtilizadoresData.ID ));
		}
		dataHash.put(TO_USER_DNS, user_dnsObject);
	}

	public java.util.Date getData_validacao_hs()
	{
		return (java.util.Date) get(DATA_VALIDACAO_HS);
	}

	public void setData_validacao_hs(java.util.Date data_validacao_hsValue )
	{
		this.set(DATA_VALIDACAO_HS, data_validacao_hsValue );
	}

	public Integer getUser_hs()
	{
		return (Integer) dataHash.get(USER_HS);
	}

	public void setUser_hs(Integer user_hsValue )
	{
		dataHash.put(TO_USER_HS, null);
		dataHash.put(USER_HS, user_hsValue );
	}

	public com.evolute.siprp.server.db.data.siprp.UtilizadoresData toUser_hs()
		throws Exception
	{
		if( dataHash.get(TO_USER_HS) == null && getUser_hs() != null )
		{
			dataHash.put(TO_USER_HS, getJDOProvider().load(com.evolute.siprp.server.db.data.siprp.UtilizadoresData.class, new Object[]{ getUser_hs() }, new String[]{ com.evolute.siprp.server.db.data.siprp.UtilizadoresData.ID }));
		}
		return (com.evolute.siprp.server.db.data.siprp.UtilizadoresData) dataHash.get(TO_USER_HS);
	}

	public void setToUser_hs(com.evolute.siprp.server.db.data.siprp.UtilizadoresData user_hsObject )
	{
		if( user_hsObject == null )
		{
			dataHash.put(USER_HS, null);
		}
		else
		{
			dataHash.put(USER_HS, user_hsObject.get( com.evolute.siprp.server.db.data.siprp.UtilizadoresData.ID ));
		}
		dataHash.put(TO_USER_HS, user_hsObject);
	}

	public Integer getFase_antes_correcao()
	{
		return (Integer) get(FASE_ANTES_CORRECAO);
	}

	public void setFase_antes_correcao(Integer fase_antes_correcaoValue )
	{
		this.set(FASE_ANTES_CORRECAO, fase_antes_correcaoValue );
	}

	public String getCorrecao()
	{
		return (String) get(CORRECAO);
	}

	public void setCorrecao(String correcaoValue )
	{
		this.set(CORRECAO, correcaoValue );
	}

	public String getObservacoes_dl()
	{
		return (String) get(OBSERVACOES_DL);
	}

	public void setObservacoes_dl(String observacoes_dlValue )
	{
		this.set(OBSERVACOES_DL, observacoes_dlValue );
	}

	public String getObservacoes_dns()
	{
		return (String) get(OBSERVACOES_DNS);
	}

	public void setObservacoes_dns(String observacoes_dnsValue )
	{
		this.set(OBSERVACOES_DNS, observacoes_dnsValue );
	}

	public String getVerificacao_siprp()
	{
		return (String) get(VERIFICACAO_SIPRP);
	}

	public void setVerificacao_siprp(String verificacao_siprpValue )
	{
		this.set(VERIFICACAO_SIPRP, verificacao_siprpValue );
	}

	public java.util.Date getData_controlo()
	{
		return (java.util.Date) get(DATA_CONTROLO);
	}

	public void setData_controlo(java.util.Date data_controloValue )
	{
		this.set(DATA_CONTROLO, data_controloValue );
	}

	public java.util.Date getData_email_controlo()
	{
		return (java.util.Date) get(DATA_EMAIL_CONTROLO);
	}

	public void setData_email_controlo(java.util.Date data_email_controloValue )
	{
		this.set(DATA_EMAIL_CONTROLO, data_email_controloValue );
	}

	public Integer getEmpresa_id()
	{
		return (Integer) get(EMPRESA_ID);
	}

	public void setEmpresa_id(Integer empresa_idValue )
	{
		this.set(EMPRESA_ID, empresa_idValue );
	}

	public String getNome_empresa()
	{
		return (String) get(NOME_EMPRESA);
	}

	public void setNome_empresa(String nome_empresaValue )
	{
		this.set(NOME_EMPRESA, nome_empresaValue );
	}

	public Integer getTecnico_hs_id()
	{
		return (Integer) get(TECNICO_HS_ID);
	}

	public void setTecnico_hs_id(Integer tecnico_hs_idValue )
	{
		this.set(TECNICO_HS_ID, tecnico_hs_idValue );
	}

	public String getTecnico_hs_nome()
	{
		return (String) get(TECNICO_HS_NOME);
	}

	public void setTecnico_hs_nome(String tecnico_hs_nomeValue )
	{
		this.set(TECNICO_HS_NOME, tecnico_hs_nomeValue );
	}

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

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

	public java.util.Date getData_relatorio()
	{
		return (java.util.Date) get(DATA_RELATORIO);
	}

	public void setData_relatorio(java.util.Date data_relatorioValue )
	{
		this.set(DATA_RELATORIO, data_relatorioValue );
	}

	protected Object innerGet( String fieldName )
		throws Exception
	{
		Object value = null;
		if( TO_USER_DIR_LOJA.equals( fieldName ) )
		{
			value =  toUser_dir_loja();
		}
		else if( TO_USER_DNS.equals( fieldName ) )
		{
			value =  toUser_dns();
		}
		else if( USER_DIR_LOJA.equals( fieldName ) )
		{
			value =  getUser_dir_loja();
		}
		else if( TO_USER_HS.equals( fieldName ) )
		{
			value =  toUser_hs();
		}
		else if( USER_HS.equals( fieldName ) )
		{
			value =  getUser_hs();
		}
		else if( USER_DNS.equals( fieldName ) )
		{
			value =  getUser_dns();
		}
		else
		{
			value =  dataHash.get( fieldName );
		}
		return value;
	}

	protected void innerSet( String fieldName, Object value )
		throws Exception
	{
		if( TO_USER_DIR_LOJA.equals( fieldName ) )
		{
			setToUser_dir_loja( (com.evolute.siprp.server.db.data.siprp.UtilizadoresData) value );
		}
		else if( TO_USER_DNS.equals( fieldName ) )
		{
			setToUser_dns( (com.evolute.siprp.server.db.data.siprp.UtilizadoresData) value );
		}
		else if( USER_DIR_LOJA.equals( fieldName ) )
		{
			setUser_dir_loja( (Integer) value );
		}
		else if( TO_USER_HS.equals( fieldName ) )
		{
			setToUser_hs( (com.evolute.siprp.server.db.data.siprp.UtilizadoresData) value );
		}
		else if( USER_HS.equals( fieldName ) )
		{
			setUser_hs( (Integer) value );
		}
		else if( USER_DNS.equals( fieldName ) )
		{
			setUser_dns( (Integer) value );
		}
		else
		{
			dataHash.put( fieldName, value );
		}
	}

	public void save()
		throws Exception
	{
		if( dataHash.get(TO_USER_DIR_LOJA) != null )
		{
			toUser_dir_loja().save();
			dataHash.put(USER_DIR_LOJA, toUser_dir_loja().get( com.evolute.siprp.server.db.data.siprp.UtilizadoresData.ID ));
		}

		if( dataHash.get(TO_USER_DNS) != null )
		{
			toUser_dns().save();
			dataHash.put(USER_DNS, toUser_dns().get( com.evolute.siprp.server.db.data.siprp.UtilizadoresData.ID ));
		}

		if( dataHash.get(TO_USER_HS) != null )
		{
			toUser_hs().save();
			dataHash.put(USER_HS, toUser_hs().get( com.evolute.siprp.server.db.data.siprp.UtilizadoresData.ID ));
		}

		super.save();
	}

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

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

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

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