1
2 package com.pnpconsult.zeiterfassung.model;
3
4 import org.apache.commons.lang.builder.HashCodeBuilder;
5
6
7 /***
8 * @author <a href="mailto:powerpete@users.sf.net">M. Petersen</a>
9 * @version $Id: UserProject.java,v 1.10 2004/06/09 19:26:40 powerpete Exp $
10 *
11 * @hibernate.class table="userproject"
12 */
13 public class UserProject extends TimestampedObject
14 {
15 private float billingFactor;
16 private long id = -1;
17 private User user;
18 private Project project;
19
20 /***
21 * @return Returns the billingFactor.
22 *
23 * @hibernate.property
24 */
25 public float getBillingFactor()
26 {
27 return billingFactor;
28 }
29
30 /***
31 * @param billingFactor The billingFactor to set.
32 */
33 public void setBillingFactor(float billingFactor)
34 {
35 this.billingFactor = billingFactor;
36 }
37
38 /***
39 * @return Returns the user.
40 *
41 * @hibernate.many-to-one column="userLogin"
42 */
43 public User getUser()
44 {
45 return user;
46 }
47
48 /***
49 * @param user The user to set.
50 */
51 public void setUser(User user)
52 {
53 this.user = user;
54 }
55
56 /***
57 * @return Returns the project.
58 *
59 * @hibernate.many-to-one column="projectId"
60 */
61 public Project getProject()
62 {
63 return project;
64 }
65
66 /***
67 * @param project The project to set.
68 */
69 public void setProject(Project project)
70 {
71 this.project = project;
72 }
73
74 /***
75 * @return Returns the id.
76 *
77 * @hibernate.id generator-class="increment" unsaved-value="-1"
78 */
79 public long getId()
80 {
81 return id;
82 }
83
84 /***
85 * @param id The id to set.
86 */
87 public void setId(long id)
88 {
89 this.id = id;
90 }
91
92 public String toString()
93 {
94 return String.valueOf(project);
95 }
96
97 public int compareTo(Object obj)
98 {
99 if (obj == null)
100 {
101 return 1;
102 }
103 Project project2 = ((UserProject) obj).getProject();
104 if (project == null)
105 {
106 if (project2 == null)
107 {
108 return 0;
109 }
110 return -1;
111 }
112 return project.compareTo(project2);
113 }
114
115 public boolean equals(Object o)
116 {
117 UserProject up = (UserProject) o;
118 return id == up.id;
119 }
120
121 public int hashCode()
122 {
123 return new HashCodeBuilder().append(id).toHashCode();
124 }
125 }