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

	public static final String TABLENAME = "marcacoes_tecnicos_hst";

	public static final String ID = "id";
	public static final String ID_FULL = "marcacoes_tecnicos_hst.id";
	public static final String NOME = "nome";
	public static final String NOME_FULL = "marcacoes_tecnicos_hst.nome";
	public static final String NOME_PLAIN = "nome_plain";
	public static final String NOME_PLAIN_FULL = "marcacoes_tecnicos_hst.nome_plain";
	public static final String INICIAIS = "iniciais";
	public static final String INICIAIS_FULL = "marcacoes_tecnicos_hst.iniciais";
	public static final String IDENTIFICADOR = "identificador";
	public static final String IDENTIFICADOR_FULL = "marcacoes_tecnicos_hst.identificador";
	public static final String INACTIVO = "inactivo";
	public static final String INACTIVO_FULL = "marcacoes_tecnicos_hst.inactivo";
	public static final String CAP = "cap";
	public static final String CAP_FULL = "marcacoes_tecnicos_hst.cap";
	public static final String FORMACAO = "formacao";
	public static final String FORMACAO_FULL = "marcacoes_tecnicos_hst.formacao";
	public static final String ASSINATURA = "assinatura";
	public static final String ASSINATURA_FULL = "marcacoes_tecnicos_hst.assinatura";
	public static final String TO_ASSINATURA = "to assinatura";

	public static final String FIELD_NAMES[] = new String[]{
		NOME, NOME_PLAIN, INICIAIS, IDENTIFICADOR, INACTIVO, CAP, FORMACAO, ASSINATURA, 
		TO_ASSINATURA, };


	protected static final String ALL_FIELD_NAMES[] = new String[]{
		ID, NOME, NOME_PLAIN, INICIAIS, IDENTIFICADOR, INACTIVO, CAP, FORMACAO, ASSINATURA, };

	private Map<String, Object> dataHash;

	public MarcacoesTecnicosHstDataAuto()
	{
		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 getNome_plain()
	{
		return (String) get(NOME_PLAIN);
	}

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

	public String getIniciais()
	{
		return (String) get(INICIAIS);
	}

	public void setIniciais(String iniciaisValue )
	{
		this.set(INICIAIS, iniciaisValue );
	}

	public Integer getIdentificador()
	{
		return (Integer) get(IDENTIFICADOR);
	}

	public void setIdentificador(Integer identificadorValue )
	{
		this.set(IDENTIFICADOR, identificadorValue );
	}

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

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

	public String getCap()
	{
		return (String) get(CAP);
	}

	public void setCap(String capValue )
	{
		this.set(CAP, capValue );
	}

	public String getFormacao()
	{
		return (String) get(FORMACAO);
	}

	public void setFormacao(String formacaoValue )
	{
		this.set(FORMACAO, formacaoValue );
	}

	public Integer getAssinatura()
	{
		return (Integer) dataHash.get(ASSINATURA);
	}

	public void setAssinatura(Integer assinaturaValue )
	{
		dataHash.put(TO_ASSINATURA, null);
		dataHash.put(ASSINATURA, assinaturaValue );
	}

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

	public void setToAssinatura(com.evolute.siprp.server.db.data.siprp_local3.ImageData assinaturaObject )
	{
		if( assinaturaObject == null )
		{
			dataHash.put(ASSINATURA, null);
		}
		else
		{
			dataHash.put(ASSINATURA, assinaturaObject.get( com.evolute.siprp.server.db.data.siprp_local3.ImageData.ID ));
		}
		dataHash.put(TO_ASSINATURA, assinaturaObject);
	}

	protected Object innerGet( String fieldName )
		throws Exception
	{
		Object value = null;
		if( TO_ASSINATURA.equals( fieldName ) )
		{
			value =  toAssinatura();
		}
		else if( ASSINATURA.equals( fieldName ) )
		{
			value =  getAssinatura();
		}
		else
		{
			value =  dataHash.get( fieldName );
		}
		return value;
	}

	protected void innerSet( String fieldName, Object value )
		throws Exception
	{
		if( TO_ASSINATURA.equals( fieldName ) )
		{
			setToAssinatura( (com.evolute.siprp.server.db.data.siprp_local3.ImageData) value );
		}
		else if( ASSINATURA.equals( fieldName ) )
		{
			setAssinatura( (Integer) value );
		}
		else
		{
			dataHash.put( fieldName, value );
		}
	}

	public void save()
		throws Exception
	{
		if( dataHash.get(TO_ASSINATURA) != null )
		{
			toAssinatura().save();
			dataHash.put(ASSINATURA, toAssinatura().get( com.evolute.siprp.server.db.data.siprp_local3.ImageData.ID ));
		}

		super.save();
	}

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

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

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

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