ItemBean.java
上传用户:hgs128
上传日期:2007-02-03
资源大小:166k
文件大小:6k
源码类别:

百货/超市行业

开发平台:

WINDOWS

  1. /*
  2.  * Created on 1999-5-18
  3.  */
  4. package cmp;
  5. import javax.ejb.EntityBean;
  6. import javax.ejb.EntityContext;
  7. /**
  8.  * @ejb.bean name="Item"
  9.  * jndi-name="ItemBean"
  10.  * type="CMP"
  11.  *  primkey-field="itemID"
  12.  *  schema="mySchema" 
  13.  *  cmp-version="2.x"
  14.  * 
  15.  *--
  16.  * This is needed for JOnAS.
  17.  * If you are not using JOnAS you can safely remove the tags below.
  18.  * @jonas.bean ejb-name="Item"
  19.  * jndi-name="ItemBean"
  20.  * @jonas.jdbc-mapping  jndi-name="java:/OracleDS" jdbc-table-name="Items" 
  21.  * --
  22.  * 
  23.  *  @ejb.persistence 
  24.  *   table-name="Items" 
  25.  * 
  26.  * @ejb.finder 
  27.  *    query="SELECT OBJECT(a) FROM mySchema as a"  
  28.  *    signature="java.util.Collection findAll()"  
  29.  * 
  30.  * @ejb.finder
  31.  *    query="SELECT OBJECT(b) FROM mySchema b where b.supplierID=?1"
  32.  *    signature="java.util.Collection findBySupplierID(java.lang.String supplierID)"
  33.  * 
  34.  * @ejb.finder
  35.  *    query="SELECT OBJECT(c) FROM mySchema c where c.quantity=0"
  36.  *    signature="java.util.Collection findByOutOfStock()"
  37.  *--
  38.  * This is needed for JOnAS.
  39.  * If you are not using JOnAS you can safely remove the tags below.
  40.  * @jonas.finder-method-jdbc-mapping  method-name="findAll"
  41.  * jdbc-where-clause=""
  42.  * @jonas.jdbc-mapping  jndi-name="java:/OracleDS"
  43.  * jdbc-table-name="Items"
  44.  * 
  45.  *--
  46.  *  
  47.  **/
  48. public abstract class ItemBean implements EntityBean {
  49. protected EntityContext eContext;
  50. public void setEntityContext(EntityContext context) {
  51. eContext=context;
  52. }
  53. public void unsetEntityContext() {
  54. eContext=null;
  55. }
  56. /**
  57.  * The  ejbCreate method.
  58.  * 
  59.  * @ejb.create-method 
  60.  */
  61. public java.lang.String ejbCreate(String itemID,String supplierID,String description,
  62. Integer quantity,Float price) throws javax.ejb.CreateException {
  63. // EJB 2.0 spec says return null for CMP ejbCreate methods.
  64. // TODO: YOU MUST INITIALIZE THE FIELDS FOR THE BEAN HERE. 
  65. // setMyField("Something"); 
  66. System.out.println("Entering ItemBean,ejbCreate()");
  67. setItemID(itemID);
  68. setSupplierID(supplierID);
  69. setDescription(description);
  70. setQuantity(quantity);
  71. setPrice(price);
  72. System.out.println("Leaving ItemBean.ejbCreate()");
  73. return null;
  74. }
  75. /**
  76.  * The container invokes this method immediately after it calls ejbCreate.
  77.  * 
  78.  */
  79. public void ejbPostCreate() throws javax.ejb.CreateException {
  80. }
  81. /**
  82.  * Returns the ItemID
  83.  * @return the ItemID
  84.  * 
  85.  * @ejb.persistent-field 
  86.  * @ejb.persistence
  87.  *    column-name="ItemID"
  88.  *     sql-type="varchar2"
  89.  * @ejb.pk-field 
  90.  * @ejb.interface-method
  91.  * 
  92.  * --
  93.  * This is needed for JOnAS.
  94.  * If you are not using JOnAS you can safely remove the tags below.
  95.  * @jonas.cmp-field-jdbc-mapping  field-name="ItemID"
  96.  * jdbc-field-name="ItemID"
  97.  * 
  98.  --
  99.  */
  100. public abstract java.lang.String getItemID();
  101. /**
  102.  * Sets the ItemID
  103.  * 
  104.  * @param java.lang.String the new ItemID value
  105.  * 
  106.  * @ejb.interface-method
  107.  */
  108. public abstract void setItemID(java.lang.String ItemID);
  109. /**
  110.  * Returns the SupplierID
  111.  * @return the SupplierID
  112.  * 
  113.  * @ejb.persistent-field 
  114.  * @ejb.persistence
  115.  *    column-name="SupplierID"
  116.  *     sql-type="varchar2"
  117.  *  
  118.  * @ejb.interface-method
  119.  * 
  120.  * --
  121.  * This is needed for JOnAS.
  122.  * If you are not using JOnAS you can safely remove the tags below.
  123.  * @jonas.cmp-field-jdbc-mapping  field-name="SupplierID"
  124.  * jdbc-field-name="SupplierID"
  125.  * 
  126.  --
  127.  */
  128. public abstract java.lang.String getSupplierID();
  129. /**
  130.  * Sets the SupplierID
  131.  * 
  132.  * @param java.lang.String the new SupplierID value
  133.  * 
  134.  * @ejb.interface-method
  135.  */
  136. public abstract void setSupplierID(java.lang.String SupplierID);
  137. /**
  138.  * Returns the Description
  139.  * @return the Description
  140.  * 
  141.  * @ejb.persistent-field 
  142.  * @ejb.persistence
  143.  *    column-name="Description"
  144.  *     sql-type="varchar2"
  145.  *  
  146.  * @ejb.interface-method
  147.  * 
  148.  * --
  149.  * This is needed for JOnAS.
  150.  * If you are not using JOnAS you can safely remove the tags below.
  151.  * @jonas.cmp-field-jdbc-mapping  field-name="Description"
  152.  * jdbc-field-name="Description"
  153.  * 
  154.  --
  155.  */
  156. public abstract java.lang.String getDescription();
  157. /**
  158.  * Sets the Description
  159.  * 
  160.  * @param java.lang.String the new Description value
  161.  * 
  162.  * @ejb.interface-method
  163.  */
  164. public abstract void setDescription(java.lang.String Description);
  165. /**
  166.  * Returns the Quantity
  167.  * @return the Quantity
  168.  * 
  169.  * @ejb.persistent-field 
  170.  * @ejb.persistence
  171.  *    column-name="Quantity"
  172.  *     sql-type="INTEGER"
  173.  *  
  174.  * @ejb.interface-method
  175.  * 
  176.  * --
  177.  * This is needed for JOnAS.
  178.  * If you are not using JOnAS you can safely remove the tags below.
  179.  * @jonas.cmp-field-jdbc-mapping  field-name="Quantity"
  180.  * jdbc-field-name="Quantity"
  181.  * 
  182.  --
  183.  */
  184. public abstract java.lang.Integer getQuantity();
  185. /**
  186.  * Sets the Quantity
  187.  * 
  188.  * @param java.lang.Integer the new Quantity value
  189.  * 
  190.  * @ejb.interface-method
  191.  */
  192. public abstract void setQuantity(java.lang.Integer Quantity);
  193. /**
  194.  * Returns the Price
  195.  * @return the Price
  196.  * 
  197.  * @ejb.persistent-field 
  198.  * @ejb.persistence
  199.  *    column-name="Price"
  200.  *     sql-type="DECIMAL"
  201.  *  
  202.  * @ejb.interface-method
  203.  * 
  204.  * --
  205.  * This is needed for JOnAS.
  206.  * If you are not using JOnAS you can safely remove the tags below.
  207.  * @jonas.cmp-field-jdbc-mapping  field-name="Price"
  208.  * jdbc-field-name="Price"
  209.  * 
  210.  --
  211.  */
  212. public abstract java.lang.Float getPrice();
  213. /**
  214.  * Sets the Price
  215.  * 
  216.  * @param java.lang.Float the new Price value
  217.  * 
  218.  * @ejb.interface-method
  219.  */
  220. public abstract void setPrice(java.lang.Float Price);
  221. /**  * @ejb.interface-method  * view-type="local"  **/ public ItemData getItemData(){
  222. System.out.println("Entering ItemBean.getItemData()");
  223. System.out.println("Leaving ItemBean.getItemData()");     return new ItemData(getItemID(),getSupplierID(),getDescription(),
  224.      getQuantity(),getPrice());  }
  225. /**  * @ejb.interface-method  * view-type="local"  **/ public void fillStock (Integer quantity){ 
  226. System.out.println("Entering ItemBean.fillStock()");
  227. Integer qty=new Integer(quantity.intValue()+getQuantity().intValue());
  228. System.out.println("Quantity of items delivery of items"+qty.intValue());
  229. setQuantity(qty);
  230. System.out.println("Leaving ItemBean.fillStock()"); } }