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

	public static final String TABLENAME = "hs_posto_medida";

	public static final String POSTO_ID = "posto_id";
	public static final String POSTO_ID_FULL = "hs_posto_medida.posto_id";
	public static final String TO_POSTO_ID = "to posto_id";
	public static final String MEDIDA_ID = "medida_id";
	public static final String MEDIDA_ID_FULL = "hs_posto_medida.medida_id";
	public static final String TO_MEDIDA_ID = "to medida_id";

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


	protected static final String ALL_FIELD_NAMES[] = new String[]{
		POSTO_ID, MEDIDA_ID, };

	private Map<String, Object> dataHash;

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

	public Integer getPosto_id()
	{
		return (Integer) dataHash.get(POSTO_ID);
	}

	public void setPosto_id(Integer posto_idValue )
	{
		dataHash.put(TO_POSTO_ID, null);
		dataHash.put(POSTO_ID, posto_idValue );
	}

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

	public void setToPosto_id(com.evolute.siprp.server.db.data.siprp_local3.HsPostoData posto_idObject )
	{
		if( posto_idObject == null )
		{
			dataHash.put(POSTO_ID, null);
		}
		else
		{
			dataHash.put(POSTO_ID, posto_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.HsPostoData.ID ));
		}
		dataHash.put(TO_POSTO_ID, posto_idObject);
	}

	public Integer getMedida_id()
	{
		return (Integer) dataHash.get(MEDIDA_ID);
	}

	public void setMedida_id(Integer medida_idValue )
	{
		dataHash.put(TO_MEDIDA_ID, null);
		dataHash.put(MEDIDA_ID, medida_idValue );
	}

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

	public void setToMedida_id(com.evolute.siprp.server.db.data.siprp_local3.HsMedidaData medida_idObject )
	{
		if( medida_idObject == null )
		{
			dataHash.put(MEDIDA_ID, null);
		}
		else
		{
			dataHash.put(MEDIDA_ID, medida_idObject.get( com.evolute.siprp.server.db.data.siprp_local3.HsMedidaData.ID ));
		}
		dataHash.put(TO_MEDIDA_ID, medida_idObject);
	}

	protected Object innerGet( String fieldName )
		throws Exception
	{
		Object value = null;
		if( TO_POSTO_ID.equals( fieldName ) )
		{
			value =  toPosto_id();
		}
		else if( POSTO_ID.equals( fieldName ) )
		{
			value =  getPosto_id();
		}
		else if( MEDIDA_ID.equals( fieldName ) )
		{
			value =  getMedida_id();
		}
		else if( TO_MEDIDA_ID.equals( fieldName ) )
		{
			value =  toMedida_id();
		}
		else
		{
			value =  dataHash.get( fieldName );
		}
		return value;
	}

	protected void innerSet( String fieldName, Object value )
		throws Exception
	{
		if( TO_POSTO_ID.equals( fieldName ) )
		{
			setToPosto_id( (com.evolute.siprp.server.db.data.siprp_local3.HsPostoData) value );
		}
		else if( POSTO_ID.equals( fieldName ) )
		{
			setPosto_id( (Integer) value );
		}
		else if( MEDIDA_ID.equals( fieldName ) )
		{
			setMedida_id( (Integer) value );
		}
		else if( TO_MEDIDA_ID.equals( fieldName ) )
		{
			setToMedida_id( (com.evolute.siprp.server.db.data.siprp_local3.HsMedidaData) value );
		}
		else
		{
			dataHash.put( fieldName, value );
		}
	}

	public void save()
		throws Exception
	{
		if( dataHash.get(TO_POSTO_ID) != null )
		{
			toPosto_id().save();
			dataHash.put(POSTO_ID, toPosto_id().get( com.evolute.siprp.server.db.data.siprp_local3.HsPostoData.ID ));
		}

		if( dataHash.get(TO_MEDIDA_ID) != null )
		{
			toMedida_id().save();
			dataHash.put(MEDIDA_ID, toMedida_id().get( com.evolute.siprp.server.db.data.siprp_local3.HsMedidaData.ID ));
		}

		super.save();
	}

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

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

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

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

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

		obj = this.getMedida_id();
		if(obj instanceof JDOObject){
			 obj = ((JDOObject) obj).getInnerObject();
		}
		id.medida_id = (Integer)obj;

		return id;

	}
}
