View Javadoc

1   // Created on 02.11.2003
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 }