7151203df7347d72dfe5962693bbbe4c7c672fbf
[gigi.git] / src / org / cacert / gigi / dbObjects / Organisation.java
1 package org.cacert.gigi.dbObjects;
2
3 import org.cacert.gigi.database.DatabaseConnection;
4 import org.cacert.gigi.database.GigiPreparedStatement;
5 import org.cacert.gigi.database.GigiResultSet;
6
7 public class Organisation extends CertificateOwner {
8
9     private final String name;
10
11     private final String state;
12
13     private final String province;
14
15     private final String city;
16
17     public Organisation(String name, String state, String province, String city, User creator) {
18         this.name = name;
19         this.state = state;
20         this.province = province;
21         this.city = city;
22         int id = super.insert();
23         GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("INSERT INTO organisations SET id=?, name=?, state=?, province=?, city=?, creator=?");
24         ps.setInt(1, id);
25         ps.setString(2, name);
26         ps.setString(3, state);
27         ps.setString(4, province);
28         ps.setString(5, city);
29         ps.setInt(6, creator.getId());
30         synchronized (Organisation.class) {
31             ps.execute();
32         }
33
34     }
35
36     protected Organisation(GigiResultSet rs) {
37         name = rs.getString("name");
38         state = rs.getString("state");
39         province = rs.getString("province");
40         city = rs.getString("city");
41     }
42
43     public String getName() {
44         return name;
45     }
46
47     public String getState() {
48         return state;
49     }
50
51     public String getProvince() {
52         return province;
53     }
54
55     public String getCity() {
56         return city;
57     }
58
59     public static synchronized Organisation getById(int id) {
60         CertificateOwner co = CertificateOwner.getById(id);
61         if (co instanceof Organisation) {
62             return (Organisation) co;
63         }
64         return null;
65     }
66 }