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

	public static final String TABLENAME = "hs_legislacao_estabelecimento";

	public static final String LEGISLACAO_ID = "legislacao_id";
	public static final String LEGISLACAO_ID_FULL = "hs_legislacao_estabelecimento.legislacao_id";
	public static final String TO_LEGISLACAO_ID = "to legislacao_id";
	public static final String ESTABELECIMENTO_ID = "estabelecimento_id";
	public static final String ESTABELECIMENTO_ID_FULL = "hs_legislacao_estabelecimento.estabelecimento_id";
	public static final String TO_ESTABELECIMENTO_ID = "to estabelecimento_id";
	public static final String ORDEM = "ordem";
	public static final String ORDEM_FULL = "hs_legislacao_estabelecimento.ordem";

	public static final String FIELD_NAMES[] = new String[]{
		ORDEM, };


	protected static final String ALL_FIELD_NAMES[] = new String[]{
		LEGISLACAO_ID, ESTABELECIMENTO_ID, ORDEM, };

	private Map<String, Object> dataHash;

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

	public Integer getLegislacao_id()
	{
		return (Integer) dataHash.get(LEGISLACAO_ID);
	}

	public void setLegislacao_id(Integer legislacao_idValue )
	{
		dataHash.put(TO_LEGISLACAO_ID, null);
		dataHash.put(LEGISLACAO_ID, legislacao_idValue );
	}

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

	public void setToLegislacao_id(com.evolute.siprp.server.db.data.siprp_local3.HsLegislacaoData legislacao_idObject )
	{
		if( legislacao_idObject == null )
		{
			dataHash.put(LEGISLACAO_ID, null);
		}
		else
		{
			dataHash.put(LEGISLACAO_ID, legislacao_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.HsLegislacaoData.ID ));
		}
		dataHash.put(TO_LEGISLACAO_ID, legislacao_idObject);
	}

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

	public void setEstabelecimento_id(Integer estabelecimento_idValue )
	{
		dataHash.put(TO_ESTABELECIMENTO_ID, null);
		dataHash.put(ESTABELECIMENTO_ID, estabelecimento_idValue );
	}

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

	public void setToEstabelecimento_id(com.evolute.siprp.server.db.data.siprp_local3.EstabelecimentosData estabelecimento_idObject )
	{
		if( estabelecimento_idObject == null )
		{
			dataHash.put(ESTABELECIMENTO_ID, null);
		}
		else
		{
			dataHash.put(ESTABELECIMENTO_ID, estabelecimento_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.EstabelecimentosData.ID ));
		}
		dataHash.put(TO_ESTABELECIMENTO_ID, estabelecimento_idObject);
	}

	public Integer getOrdem()
	{
		return (Integer) get(ORDEM);
	}

	public void setOrdem(Integer ordemValue )
	{
		this.set(ORDEM, ordemValue );
	}

	protected Object innerGet( String fieldName )
		throws Exception
	{
		Object value = null;
		if( ESTABELECIMENTO_ID.equals( fieldName ) )
		{
			value =  getEstabelecimento_id();
		}
		else if( TO_LEGISLACAO_ID.equals( fieldName ) )
		{
			value =  toLegislacao_id();
		}
		else if( TO_ESTABELECIMENTO_ID.equals( fieldName ) )
		{
			value =  toEstabelecimento_id();
		}
		else if( LEGISLACAO_ID.equals( fieldName ) )
		{
			value =  getLegislacao_id();
		}
		else
		{
			value =  dataHash.get( fieldName );
		}
		return value;
	}

	protected void innerSet( String fieldName, Object value )
		throws Exception
	{
		if( ESTABELECIMENTO_ID.equals( fieldName ) )
		{
			setEstabelecimento_id( (Integer) value );
		}
		else if( TO_LEGISLACAO_ID.equals( fieldName ) )
		{
			setToLegislacao_id( (com.evolute.siprp.server.db.data.siprp_local3.HsLegislacaoData) value );
		}
		else if( TO_ESTABELECIMENTO_ID.equals( fieldName ) )
		{
			setToEstabelecimento_id( (com.evolute.siprp.server.db.data.siprp_local3.EstabelecimentosData) value );
		}
		else if( LEGISLACAO_ID.equals( fieldName ) )
		{
			setLegislacao_id( (Integer) value );
		}
		else
		{
			dataHash.put( fieldName, value );
		}
	}

	public void save()
		throws Exception
	{
		if( dataHash.get(TO_LEGISLACAO_ID) != null )
		{
			toLegislacao_id().save();
			dataHash.put(LEGISLACAO_ID, toLegislacao_id().get( com.evolute.siprp.server.db.data.siprp_local3.HsLegislacaoData.ID ));
		}

		if( dataHash.get(TO_ESTABELECIMENTO_ID) != null )
		{
			toEstabelecimento_id().save();
			dataHash.put(ESTABELECIMENTO_ID, toEstabelecimento_id().get( com.evolute.siprp.server.db.data.siprp_local3.EstabelecimentosData.ID ));
		}

		super.save();
	}

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

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

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

	public com.evolute.siprp.server.db.data.siprp_local3.HsLegislacaoEstabelecimentoID getJDOPrimaryKey()
	{
		com.evolute.siprp.server.db.data.siprp_local3.HsLegislacaoEstabelecimentoID id = new com.evolute.siprp.server.db.data.siprp_local3.HsLegislacaoEstabelecimentoID();

		Object obj;
		obj = this.getLegislacao_id();
		if(obj instanceof JDOObject){
			 obj = ((JDOObject) obj).getInnerObject();
		}
		id.legislacao_id = (Integer)obj;

		obj = this.getEstabelecimento_id();
		if(obj instanceof JDOObject){
			 obj = ((JDOObject) obj).getInnerObject();
		}
		id.estabelecimento_id = (Integer)obj;

		return id;

	}
}
