KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > xpetstore > domain > order > ejb > OrderItem


1 package xpetstore.domain.order.ejb;
2
3 import javax.annotation.EJB;
4 import javax.ejb.EJBException JavaDoc;
5 import javax.persistence.CascadeType;
6 import javax.persistence.Column;
7 import javax.persistence.Entity;
8 import javax.persistence.Id;
9 import javax.persistence.JoinColumn;
10 import javax.persistence.ManyToOne;
11 import javax.persistence.Table;
12
13 import xpetstore.domain.catalog.ejb.Item;
14
15 import xpetstore.util.uidgen.ejb.UIDGenerator;
16
17
18 /**
19  *
20  * @ ejb.bean
21  * name="OrderItem"
22  * type="CMP"
23  * view-type="local"
24  * primkey-field="orderItemUId"
25  * schema="OrderItem"
26  * cmp-version="${ejb.cmp.version}"
27  * @ ejb.value-object
28  * name="OrderItem"
29  * match="*"
30  * @ ejb.transaction
31  * type="Required"
32  * @ ejb.persistence
33  * table-name="T_ORDER_ITEM"
34  * @ ejb.ejb-ref
35  * ejb-name="UIDGenerator"
36  * view-type="local"
37  * ref-name="ejb/UIDGeneratorLocal"
38  *
39  * @ jboss.persistence
40  * create-table="${jboss.create.table}"
41  * remove-table="${jboss.remove.table}"
42  */

43 @Entity(name = "OrderItem")
44 @Table(name = "T_ORDER_ITEM")
45 public class OrderItem
46 {
47
48     public static final String JavaDoc COUNTER_NAME = "OrderItem";
49     
50     private Integer JavaDoc orderItemUId;
51     private int quantity;
52     private double unitPrice;
53     private Item item;
54     
55     public OrderItem()
56     {
57        
58     }
59     
60     public OrderItem( int quantity, double unitPrice )
61    {
62        setQuantity( quantity );
63        setUnitPrice( unitPrice );
64    }
65
66     /**
67      * @ ejb.interface-method
68      * @ ejb.transaction
69      * type="Supports"
70      */

71     public double calculateSubTotal( )
72     {
73         return Math.max( getQuantity( ) * getUnitPrice( ), 0 );
74     }
75
76     /**
77      * @ ejb.pk-field
78      * @ ejb.persistence
79      * column-name="orderItemUId"
80      * @ ejb.interface-method
81      * @ ejb.transaction
82      * type="Supports"
83      */

84    @Id
85    @GeneratedValue(strategy= GenerationType.AUTO)
86     @Column(name="orderItemUId")
87     public Integer JavaDoc getOrderItemUId( )
88     {
89        return orderItemUId;
90     }
91
92     public void setOrderItemUId( Integer JavaDoc orderItemUId )
93     {
94        this.orderItemUId = orderItemUId;
95     }
96
97     /**
98      * @ ejb.persistence
99      * column-name="quantity"
100      */

101     @Column(name="quantity")
102     public int getQuantity( )
103     {
104        return quantity;
105     }
106
107     public void setQuantity( int quantity )
108     {
109        this.quantity = quantity;
110     }
111
112     /**
113      * @ ejb.persistence
114      * column-name="unitPrice"
115      */

116     @Column(name="unitPrice")
117     public double getUnitPrice( )
118     {
119        return unitPrice;
120     }
121
122     public void setUnitPrice( double unitPrice )
123     {
124        this.unitPrice = unitPrice;
125     }
126
127     /**
128      * @ ejb.interface-method
129      * @ ejb.relation
130      * name="orderItem-item"
131      * role-name="orderItem-refers_to-item"
132      * cascade-delete="yes"
133      * target-ejb="Item"
134      * target-role-name="item-is_refered_by-orderItems"
135      * target-multiple="yes"
136      * @ ejb.value-object
137      * aggregate="xpetstore.domain.catalog.model.ItemValue"
138      * aggregate-name="Item"
139      * members="xpetstore.domain.catalog.interfaces.Item"
140      * members-name="Item"
141      * relation="external"
142      *
143      * @ jboss.relation
144      * fk-column="itemId_fk"
145      * related-pk-field="itemId"
146      *
147      * @ weblogic.column-map
148      * foreign-key-column="itemId_fk"
149      */

150     @ManyToOne(targetEntity=Item.class, cascade={CascadeType.ALL})
151     @JoinColumn(name="itemId_fk")
152     public Item getItem( )
153     {
154        return item;
155     }
156
157     /**
158      * @ ejb.interface-method
159      */

160     public void setItem( Item item )
161     {
162        this.item = item;
163     }
164 }
165
Popular Tags