KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > test > foedeployer > ejb > ql > CarBean


1 /*
2 * JBoss, the OpenSource EJB server
3 *
4 * Distributable under LGPL license.
5 * See terms of license at gnu.org.
6 */

7 package org.jboss.test.foedeployer.ejb.ql;
8
9
10 import javax.ejb.EntityBean JavaDoc;
11 import javax.ejb.EntityContext JavaDoc;
12 import javax.ejb.FinderException JavaDoc;
13 import javax.ejb.NoSuchEntityException JavaDoc;
14 import javax.ejb.ObjectNotFoundException JavaDoc;
15 import javax.ejb.RemoveException JavaDoc;
16 import javax.ejb.CreateException JavaDoc;
17 import javax.ejb.DuplicateKeyException JavaDoc;
18 import javax.ejb.EJBException JavaDoc;
19
20 import javax.sql.DataSource JavaDoc;
21 import javax.naming.InitialContext JavaDoc;
22 import javax.naming.NamingException JavaDoc;
23
24 import java.sql.Connection JavaDoc;
25 import java.sql.Statement JavaDoc;
26 import java.sql.ResultSet JavaDoc;
27 import java.sql.SQLException JavaDoc;
28
29 import java.util.Collection JavaDoc;
30
31 import org.apache.log4j.Category;
32
33 /**
34  * Models a car.
35  *
36  * @ejb.bean
37  * name="Car"
38  * generate="true"
39  * view-type="local"
40  * type="CMP"
41  * local-jndi-name="CarEJB.CarHome"
42  * reentrant="False"
43  * cmp-version="2.x"
44  * primkey-field="number"
45  *
46  * @ejb.pk
47  * class="java.lang.String"
48  * generate="false"
49  *
50  * @ejb.transaction type="Required"
51  *
52  * @ejb.finder
53  * view-type="local"
54  * signature="java.util.Collection findAll()"
55  * query="SELECT OBJECT(c) FROM Car AS c"
56  *
57  * @ejb.finder
58  * view-type="local"
59  * signature="java.util.Collection findByColor( java.lang.String color )"
60  * query="SELECT OBJECT(c) FROM Car AS c WHERE c.color = ?1"
61  *
62  * @ejb.finder
63  * view-type="local"
64  * signature="java.util.Collection findAfterYear( int year )"
65  * query="SELECT OBJECT(c) FROM Car AS c WHERE c.year > ?1"
66  *
67  * @@ejb.persistence table-name="cars"
68  * @weblogic:table-name cars
69  *
70  * @jboss.create-table "${jboss.create.table}"
71  * @jboss.remove-table "${jboss.remove.table}"
72  *
73  * @author <a HREF="mailto:loubyansky@hotmail.com">Alex Loubyansky</a>
74  */

75 public abstract class CarBean
76    implements EntityBean JavaDoc
77 {
78    // Constants -----------------------------------------------------
79
static Category log = Category.getInstance( CarBean.class );
80
81    // Attributes ----------------------------------------------------
82
private EntityContext JavaDoc ctx;
83
84
85    // CMP Accessors -------------------------------------------------
86
/**
87     * Car's number: primary key field
88     *
89     * @ejb.pk-field
90     * @ejb.persistent-field
91     * @ejb.interface-method
92     *
93     * xdoclet needs to be updated
94     * @@ejb.persistence
95     * column-name="number"
96     * jdbc-type="VARCHAR"
97     * sql-type="VARCHAR(50)"
98     *
99     * @weblogic:dbms-column number
100     */

101    public abstract String JavaDoc getNumber();
102    public abstract void setNumber(String JavaDoc number);
103
104    /**
105     * Car's color: persistent field
106     *
107     * @ejb.persistent-field
108     * @ejb.interface-method
109     *
110     * xdoclet needs to be updated
111     * @@ejb.persistence
112     * column-name="color"
113     * jdbc-type="VARCHAR"
114     * sql-type="VARCHAR(30)"
115     *
116     * @weblogic:dbms-column color
117     */

118    public abstract String JavaDoc getColor();
119    public abstract void setColor(String JavaDoc color);
120
121    /**
122     * Year of birth: persistent field
123     *
124     * @ejb.persistent-field
125     * @ejb.interface-method
126     *
127     * xdoclet needs to be updated
128     * @@ejb.persistence
129     * column-name="year"
130     * jdbc-type="INTEGER"
131     * sql-type="INTEGER"
132     *
133     * @weblogic:dbms-column year
134     */

135    public abstract int getYear();
136    public abstract void setYear(int year);
137
138    // EntityBean Implementation -------------------------------------
139
/**
140     * @ejb:create-method
141     */

142    public String JavaDoc ejbCreate( String JavaDoc number, String JavaDoc color, int year )
143       throws CreateException JavaDoc
144    {
145       setNumber( number );
146       setColor( color );
147       setYear( year );
148       return null; // See 9.4.2 of the EJB 1.1 specification
149
}
150
151    public void ejbPostCreate( String JavaDoc number, String JavaDoc color, int year ) { }
152
153    /**
154     * @ejb:interface-method
155     */

156    public void ejbRemove()
157       throws RemoveException JavaDoc
158    {
159       log.debug("removed: " + ctx.getPrimaryKey() );
160    }
161
162    public void setEntityContext(EntityContext JavaDoc ctx)
163    {
164       this.ctx = ctx;
165    }
166
167    public void unsetEntityContext()
168    {
169       ctx = null;
170    }
171
172    public void ejbActivate() { }
173    public void ejbPassivate() { }
174    public void ejbLoad() { }
175    public void ejbStore() { }
176 }
177
Popular Tags