/*
 * Created on 3 déc. 03
 *
 * To change the template for this generated file go to
 * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
 */
package com.gerling.inventaire.ejb;


import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
import javax.ejb.RemoveException;

import com.gerling.inventaire.dto.Peripheral;

/**
 * @ejb.bean name="PeripheralCMP"
 *	jndi-name="com.gerling.inventaire.ejb.PeripheralCMPBean"
 *  local-jndi-name="com.gerling.inventaire.ejb.PeripheralCMPBean"
 *	type="CMP"
 *  primkey-field="peripheralId"
 *  schema="peripheralSchema" 
 *  cmp-version="2.x"
 * 
 *  @ejb.persistence 
 *   table-name="PERIPHERAL" 
 * 
 * @ejb.finder 
 *    query="SELECT OBJECT(a) FROM peripheralSchema as a"  
 *    signature="java.util.Collection findAll()"
 * 
 * @ejb.finder 
 *    query = "SELECT OBJECT(a) FROM peripheralSchema as a where a.serial_no = ?1"
 *    signature = "java.lang.Integer findBySerialNumber(java.lang.String serialNumber)"
 * 
 * @jboss.persistence 
 *    datasource = "java:/InventoryDB"
 *    datasource-mapping = "Oracle8"
 *    create-table = "true"
 *    remove-table = "false"
 *    pk-constraint = "true"  
 *  
 **/

public abstract class PeripheralCMPBean implements EntityBean
{

	EntityContext entityContext;

	/**
	 * The  ejbCreate method.
	 * 
	 * @ejb.create-method 
	 */
	public java.lang.Integer ejbCreate(Peripheral peripheral) throws javax.ejb.CreateException
	{
		setPeripheral(peripheral);
		return null;
	}

	/**
	 * The container invokes this method immediately after it calls ejbCreate.
	 * 
	 */
	public void ejbPostCreate(Peripheral peripheral) throws javax.ejb.CreateException
	{
	}

	/**
	* Returns the peripheralId
	* @return the peripheralId
	* 
	* @ejb.persistent-field 
	* @ejb.persistence
	*    column-name="P_ID"
	*     sql-type="NUMBER"
	* @ejb.pk-field 
	* @ejb.interface-method
	*/
	public abstract java.lang.Integer getPeripheralId();

	/**
	* Sets the peripheralId
	* 
	* @param java.lang.Integer the new peripheralId value
	* 
	* @ejb.interface-method
	*/
	public abstract void setPeripheralId(java.lang.Integer peripheralId);

	/**
	* Returns the type
	* @return the type
	* 
	* @ejb.persistent-field 
	* @ejb.persistence
	*    column-name="TYPE"
	*     sql-type="VARCHAR"
	*  
	* @ejb.interface-method
	*/
	public abstract java.lang.String getType();

	/**
	* Sets the type
	* 
	* @param java.lang.String the new type value
	* 
	* @ejb.interface-method
	*/
	public abstract void setType(java.lang.String type);

	/**
	* Returns the label
	* @return the label
	* 
	* @ejb.persistent-field 
	* @ejb.persistence
	*    column-name="LABEL"
	*     sql-type="VARCHAR"
	*  
	* @ejb.interface-method
	*/
	public abstract java.lang.String getLabel();

	/**
	* Sets the label
	* 
	* @param java.lang.String the new label value
	* 
	* @ejb.interface-method
	*/
	public abstract void setLabel(java.lang.String label);

	/**
	* Returns the kind
	* @return the kind
	* 
	* @ejb.persistent-field 
	* @ejb.persistence
	*    column-name="KIND"
	*     sql-type="VARCHAR"
	*  
	* @ejb.interface-method
	*/
	public abstract java.lang.String getKind();

	/**
	* Sets the kind
	* 
	* @param java.lang.String the new kind value
	* 
	* @ejb.interface-method
	*/
	public abstract void setKind(java.lang.String kind);

	/**
	* Returns the serialNumber
	* @return the serialNumber
	* 
	* @ejb.persistent-field 
	* @ejb.persistence
	*    column-name="SERIAL_NO"
	*     sql-type="VARCHAR"
	*  
	* @ejb.interface-method
	*/
	public abstract java.lang.String getSerialNumber();

	/**
	* Sets the serialNumber
	* 
	* @param java.lang.String the new serialNumber value
	* 
	* @ejb.interface-method
	*/
	public abstract void setSerialNumber(java.lang.String serialNumber);

	/**
	* Returns the purchaseDate
	* @return the purchaseDate
	* 
	* @ejb.persistent-field 
	* @ejb.persistence
	*    column-name="PURCHASE_DATE"
	*     sql-type="DATE"
	*  
	* @ejb.interface-method
	*/
	public abstract java.util.Date getPurchaseDate();

	/**
	* Sets the purchaseDate
	* 
	* @param java.util.Date the new purchaseDate value
	* 
	* @ejb.interface-method
	*/
	public abstract void setPurchaseDate(java.util.Date purchaseDate);

	/**
	* Returns the warranty
	* @return the warranty
	* 
	* @ejb.persistent-field 
	* @ejb.persistence
	*    column-name="WARRANTY"
	*     sql-type="NUMBER"
	*  
	* @ejb.interface-method
	*/
	public abstract java.lang.Integer getWarranty();

	/**
	* Sets the warranty
	* 
	* @param java.lang.Integer the new warranty value
	* 
	* @ejb.interface-method
	*/
	public abstract void setWarranty(java.lang.Integer warranty);

	/**
	* Returns the codaReference
	* @return the codaReference
	* 
	* @ejb.persistent-field 
	* @ejb.persistence
	*    column-name="CODA_REF"
	*     sql-type="VARCHAR"
	*  
	* @ejb.interface-method
	*/
	public abstract java.lang.String getCodaReference();

	/**
	* Sets the codaReference
	* 
	* @param java.lang.String the new codaReference value
	* 
	* @ejb.interface-method
	*/
	public abstract void setCodaReference(java.lang.String codaReference);

	/**
	* Returns the reseller
	* @return the reseller
	* 
	* @ejb.persistent-field 
	* @ejb.persistence
	*    column-name="RESELLER"
	*     sql-type="VARCHAR"
	*  
	* @ejb.interface-method
	*/
	public abstract java.lang.String getReseller();

	/**
	* Sets the reseller
	* 
	* @param java.lang.String the new reseller value
	* 
	* @ejb.interface-method
	*/
	public abstract void setReseller(java.lang.String reseller);

	
	//////////////////////
	// Callback methods //
	//////////////////////
	
	
	
	/* (non-Javadoc)
	 * @see javax.ejb.EntityBean#ejbActivate()
	 */
	public void ejbActivate()
	{
		// TODO Auto-generated method stub

	}

	/* (non-Javadoc)
	 * @see javax.ejb.EntityBean#ejbLoad()
	 */
	public void ejbLoad()
	{
		// TODO Auto-generated method stub

	}

	/* (non-Javadoc)
	 * @see javax.ejb.EntityBean#ejbPassivate()
	 */
	public void ejbPassivate()
	{
		// TODO Auto-generated method stub

	}

	/* (non-Javadoc)
	 * @see javax.ejb.EntityBean#ejbRemove()
	 */
	public void ejbRemove()
		throws RemoveException
	{
		// TODO Auto-generated method stub

	}

	/* (non-Javadoc)
	 * @see javax.ejb.EntityBean#ejbStore()
	 */
	public void ejbStore()
	{
		// TODO Auto-generated method stub

	}

	/* (non-Javadoc)
	 * @see javax.ejb.EntityBean#setEntityContext(javax.ejb.EntityContext)
	 */
	public void setEntityContext(EntityContext arg0)
	{
		// TODO Auto-generated method stub
		entityContext = arg0;
	}

	/* (non-Javadoc)
	 * @see javax.ejb.EntityBean#unsetEntityContext()
	 */
	public void unsetEntityContext()
	{
		// TODO Auto-generated method stub
		entityContext = null;
	}


	/////////////////////
	//Business methods //
	/////////////////////
	
	/**
	 * @param peripheral the Peripheral bound to this ejb
	 * @ejb.interface-method 
	 */
	public void setPeripheral (Peripheral peripheral)
	{
		setPeripheralId(peripheral.getPeripheralId());
		setType(peripheral.getType());
		setLabel(peripheral.getLabel());
		setKind(peripheral.getKind());
		setSerialNumber(peripheral.getSerialNumber());
		setPurchaseDate(peripheral.getPurchaseDate());
		setWarranty(peripheral.getWarranty());
		setCodaReference(peripheral.getCodaReference());
		setReseller(peripheral.getReseller());
	}
	
	
	
	/**
	 * 
	 * @return the com.gerling.inventaire.dto.Peripheral object
	 * @ejb.interface-method 
	 */
	public Peripheral getPeripheral()
	{
		return new Peripheral(getPeripheralId(), getType(), getLabel(), getKind(), getSerialNumber(), getPurchaseDate(), getWarranty(), getCodaReference(), getReseller());
	}
	
	///////////////
	//CMR Fields //
	///////////////
	
	/**
	 * 
	 * @return the possible supportpack Id for this Peripheral
	 * 
	 * @ejb.interface-method 
	 * 
	 * @ejb.persistent-field 
	 * 
	 * @ejb.persistence 
	 *     column-name = "sp_idfk"
	 *     sql-type = "NUMBER"
	 */
	public abstract java.lang.Integer getSupportPackIdFk();
	
	/**
	 * 
	 * @param integer integer the possible supportPack Id
	 * @ejb.interface-method 
	 */
	public abstract void setSupportPackIdFk(java.lang.Integer integer);


}
