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

	public static final String TABLENAME = "estabelecimentos";

	public static final String ID = "id";
	public static final String ID_FULL = "estabelecimentos.id";
	public static final String NOME = "nome";
	public static final String NOME_FULL = "estabelecimentos.nome";
	public static final String LOCALIDADE = "localidade";
	public static final String LOCALIDADE_FULL = "estabelecimentos.localidade";
	public static final String INACTIVO = "inactivo";
	public static final String INACTIVO_FULL = "estabelecimentos.inactivo";
	public static final String EMPRESA_ID = "empresa_id";
	public static final String EMPRESA_ID_FULL = "estabelecimentos.empresa_id";
	public static final String TO_EMPRESA_ID = "to empresa_id";
	public static final String MORADA = "morada";
	public static final String MORADA_FULL = "estabelecimentos.morada";
	public static final String CODIGO_POSTAL = "codigo_postal";
	public static final String CODIGO_POSTAL_FULL = "estabelecimentos.codigo_postal";
	public static final String CONTACTO_BACKUP = "contacto_backup";
	public static final String CONTACTO_BACKUP_FULL = "estabelecimentos.contacto_backup";
	public static final String HISTORICO = "historico";
	public static final String HISTORICO_FULL = "estabelecimentos.historico";
	public static final String ACTUALIZACAO = "actualizacao";
	public static final String ACTUALIZACAO_FULL = "estabelecimentos.actualizacao";
	public static final String NOME_PLAIN = "nome_plain";
	public static final String NOME_PLAIN_FULL = "estabelecimentos.nome_plain";
	public static final String MEDICO_ID = "medico_id";
	public static final String MEDICO_ID_FULL = "estabelecimentos.medico_id";
	public static final String TO_MEDICO_ID = "to medico_id";
	public static final String PRESTADOR_CONSULTA_ID = "prestador_consulta_id";
	public static final String PRESTADOR_CONSULTA_ID_FULL = "estabelecimentos.prestador_consulta_id";
	public static final String TO_PRESTADOR_CONSULTA_ID = "to prestador_consulta_id";
	public static final String PRESTADOR_ECDS_ID = "prestador_ecds_id";
	public static final String PRESTADOR_ECDS_ID_FULL = "estabelecimentos.prestador_ecds_id";
	public static final String TO_PRESTADOR_ECDS_ID = "to prestador_ecds_id";
	public static final String CONTACTO_ID = "contacto_id";
	public static final String CONTACTO_ID_FULL = "estabelecimentos.contacto_id";
	public static final String TO_CONTACTO_ID = "to contacto_id";

	public static final String FIELD_NAMES[] = new String[]{
		NOME, LOCALIDADE, INACTIVO, EMPRESA_ID, TO_EMPRESA_ID, MORADA, CODIGO_POSTAL, 
		CONTACTO_BACKUP, HISTORICO, ACTUALIZACAO, NOME_PLAIN, MEDICO_ID, TO_MEDICO_ID, 
		PRESTADOR_CONSULTA_ID, TO_PRESTADOR_CONSULTA_ID, PRESTADOR_ECDS_ID, 
		TO_PRESTADOR_ECDS_ID, CONTACTO_ID, TO_CONTACTO_ID, };


	protected static final String ALL_FIELD_NAMES[] = new String[]{
		ID, NOME, LOCALIDADE, INACTIVO, EMPRESA_ID, MORADA, CODIGO_POSTAL, CONTACTO_BACKUP, 
		HISTORICO, ACTUALIZACAO, NOME_PLAIN, MEDICO_ID, PRESTADOR_CONSULTA_ID, 
		PRESTADOR_ECDS_ID, CONTACTO_ID, };

	private Map<String, Object> dataHash;

	public EstabelecimentosDataAuto()
	{
		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 getLocalidade()
	{
		return (String) get(LOCALIDADE);
	}

	public void setLocalidade(String localidadeValue )
	{
		this.set(LOCALIDADE, localidadeValue );
	}

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

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

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

	public void setEmpresa_id(Integer empresa_idValue )
	{
		dataHash.put(TO_EMPRESA_ID, null);
		dataHash.put(EMPRESA_ID, empresa_idValue );
	}

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

	public void setToEmpresa_id(com.evolute.siprp.server.db.data.siprp_local3.EmpresasData empresa_idObject )
	{
		if( empresa_idObject == null )
		{
			dataHash.put(EMPRESA_ID, null);
		}
		else
		{
			dataHash.put(EMPRESA_ID, empresa_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.EmpresasData.ID ));
		}
		dataHash.put(TO_EMPRESA_ID, empresa_idObject);
	}

	public String getMorada()
	{
		return (String) get(MORADA);
	}

	public void setMorada(String moradaValue )
	{
		this.set(MORADA, moradaValue );
	}

	public String getCodigo_postal()
	{
		return (String) get(CODIGO_POSTAL);
	}

	public void setCodigo_postal(String codigo_postalValue )
	{
		this.set(CODIGO_POSTAL, codigo_postalValue );
	}

	public String getContacto_backup()
	{
		return (String) get(CONTACTO_BACKUP);
	}

	public void setContacto_backup(String contacto_backupValue )
	{
		this.set(CONTACTO_BACKUP, contacto_backupValue );
	}

	public String getHistorico()
	{
		return (String) get(HISTORICO);
	}

	public void setHistorico(String historicoValue )
	{
		this.set(HISTORICO, historicoValue );
	}

	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 Integer getMedico_id()
	{
		return (Integer) dataHash.get(MEDICO_ID);
	}

	public void setMedico_id(Integer medico_idValue )
	{
		dataHash.put(TO_MEDICO_ID, null);
		dataHash.put(MEDICO_ID, medico_idValue );
	}

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

	public void setToMedico_id(com.evolute.siprp.server.db.data.siprp_local3.MedicosData medico_idObject )
	{
		if( medico_idObject == null )
		{
			dataHash.put(MEDICO_ID, null);
		}
		else
		{
			dataHash.put(MEDICO_ID, medico_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.MedicosData.ID ));
		}
		dataHash.put(TO_MEDICO_ID, medico_idObject);
	}

	public Integer getPrestador_consulta_id()
	{
		return (Integer) dataHash.get(PRESTADOR_CONSULTA_ID);
	}

	public void setPrestador_consulta_id(Integer prestador_consulta_idValue )
	{
		dataHash.put(TO_PRESTADOR_CONSULTA_ID, null);
		dataHash.put(PRESTADOR_CONSULTA_ID, prestador_consulta_idValue );
	}

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

	public void setToPrestador_consulta_id(com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData prestador_consulta_idObject )
	{
		if( prestador_consulta_idObject == null )
		{
			dataHash.put(PRESTADOR_CONSULTA_ID, null);
		}
		else
		{
			dataHash.put(PRESTADOR_CONSULTA_ID, prestador_consulta_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData.ID ));
		}
		dataHash.put(TO_PRESTADOR_CONSULTA_ID, prestador_consulta_idObject);
	}

	public Integer getPrestador_ecds_id()
	{
		return (Integer) dataHash.get(PRESTADOR_ECDS_ID);
	}

	public void setPrestador_ecds_id(Integer prestador_ecds_idValue )
	{
		dataHash.put(TO_PRESTADOR_ECDS_ID, null);
		dataHash.put(PRESTADOR_ECDS_ID, prestador_ecds_idValue );
	}

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

	public void setToPrestador_ecds_id(com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData prestador_ecds_idObject )
	{
		if( prestador_ecds_idObject == null )
		{
			dataHash.put(PRESTADOR_ECDS_ID, null);
		}
		else
		{
			dataHash.put(PRESTADOR_ECDS_ID, prestador_ecds_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData.ID ));
		}
		dataHash.put(TO_PRESTADOR_ECDS_ID, prestador_ecds_idObject);
	}

	public Integer getContacto_id()
	{
		return (Integer) dataHash.get(CONTACTO_ID);
	}

	public void setContacto_id(Integer contacto_idValue )
	{
		dataHash.put(TO_CONTACTO_ID, null);
		dataHash.put(CONTACTO_ID, contacto_idValue );
	}

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

	public void setToContacto_id(com.evolute.siprp.server.db.data.siprp_local3.ContactosData contacto_idObject )
	{
		if( contacto_idObject == null )
		{
			dataHash.put(CONTACTO_ID, null);
		}
		else
		{
			dataHash.put(CONTACTO_ID, contacto_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.ContactosData.ID ));
		}
		dataHash.put(TO_CONTACTO_ID, contacto_idObject);
	}

	protected Object innerGet( String fieldName )
		throws Exception
	{
		Object value = null;
		if( CONTACTO_ID.equals( fieldName ) )
		{
			value =  getContacto_id();
		}
		else if( TO_PRESTADOR_ECDS_ID.equals( fieldName ) )
		{
			value =  toPrestador_ecds_id();
		}
		else if( TO_PRESTADOR_CONSULTA_ID.equals( fieldName ) )
		{
			value =  toPrestador_consulta_id();
		}
		else if( TO_CONTACTO_ID.equals( fieldName ) )
		{
			value =  toContacto_id();
		}
		else if( TO_EMPRESA_ID.equals( fieldName ) )
		{
			value =  toEmpresa_id();
		}
		else if( PRESTADOR_CONSULTA_ID.equals( fieldName ) )
		{
			value =  getPrestador_consulta_id();
		}
		else if( EMPRESA_ID.equals( fieldName ) )
		{
			value =  getEmpresa_id();
		}
		else if( TO_MEDICO_ID.equals( fieldName ) )
		{
			value =  toMedico_id();
		}
		else if( PRESTADOR_ECDS_ID.equals( fieldName ) )
		{
			value =  getPrestador_ecds_id();
		}
		else if( MEDICO_ID.equals( fieldName ) )
		{
			value =  getMedico_id();
		}
		else
		{
			value =  dataHash.get( fieldName );
		}
		return value;
	}

	protected void innerSet( String fieldName, Object value )
		throws Exception
	{
		if( CONTACTO_ID.equals( fieldName ) )
		{
			setContacto_id( (Integer) value );
		}
		else if( TO_PRESTADOR_ECDS_ID.equals( fieldName ) )
		{
			setToPrestador_ecds_id( (com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData) value );
		}
		else if( TO_PRESTADOR_CONSULTA_ID.equals( fieldName ) )
		{
			setToPrestador_consulta_id( (com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData) value );
		}
		else if( TO_CONTACTO_ID.equals( fieldName ) )
		{
			setToContacto_id( (com.evolute.siprp.server.db.data.siprp_local3.ContactosData) value );
		}
		else if( TO_EMPRESA_ID.equals( fieldName ) )
		{
			setToEmpresa_id( (com.evolute.siprp.server.db.data.siprp_local3.EmpresasData) value );
		}
		else if( PRESTADOR_CONSULTA_ID.equals( fieldName ) )
		{
			setPrestador_consulta_id( (Integer) value );
		}
		else if( EMPRESA_ID.equals( fieldName ) )
		{
			setEmpresa_id( (Integer) value );
		}
		else if( TO_MEDICO_ID.equals( fieldName ) )
		{
			setToMedico_id( (com.evolute.siprp.server.db.data.siprp_local3.MedicosData) value );
		}
		else if( PRESTADOR_ECDS_ID.equals( fieldName ) )
		{
			setPrestador_ecds_id( (Integer) value );
		}
		else if( MEDICO_ID.equals( fieldName ) )
		{
			setMedico_id( (Integer) value );
		}
		else
		{
			dataHash.put( fieldName, value );
		}
	}

	public void save()
		throws Exception
	{
		if( dataHash.get(TO_EMPRESA_ID) != null )
		{
			toEmpresa_id().save();
			dataHash.put(EMPRESA_ID, toEmpresa_id().get( com.evolute.siprp.server.db.data.siprp_local3.EmpresasData.ID ));
		}

		if( dataHash.get(TO_MEDICO_ID) != null )
		{
			toMedico_id().save();
			dataHash.put(MEDICO_ID, toMedico_id().get( com.evolute.siprp.server.db.data.siprp_local3.MedicosData.ID ));
		}

		if( dataHash.get(TO_PRESTADOR_CONSULTA_ID) != null )
		{
			toPrestador_consulta_id().save();
			dataHash.put(PRESTADOR_CONSULTA_ID, toPrestador_consulta_id().get( com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData.ID ));
		}

		if( dataHash.get(TO_PRESTADOR_ECDS_ID) != null )
		{
			toPrestador_ecds_id().save();
			dataHash.put(PRESTADOR_ECDS_ID, toPrestador_ecds_id().get( com.evolute.siprp.server.db.data.siprp_local3.PrestadoresData.ID ));
		}

		if( dataHash.get(TO_CONTACTO_ID) != null )
		{
			toContacto_id().save();
			dataHash.put(CONTACTO_ID, toContacto_id().get( com.evolute.siprp.server.db.data.siprp_local3.ContactosData.ID ));
		}

		super.save();
	}

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

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

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

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