KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > j2biz > blogunity > pojo > Referer


1 /*
2  * $Id: Referer.java,v 1.2 2005/01/05 22:51:03 michelson Exp $
3  *
4  * Copyright (c) 2005 j2biz Group, http://www.j2biz.com Koeln / Duesseldorf ,
5  * Germany
6  *
7  * @author Max Kalina
8  *
9  *
10  * This program is free software; you can redistribute it and/or modify it under
11  * the terms of the GNU General Public License as published by the Free Software
12  * Foundation; either version 2 of the License, or (at your option) any later
13  * version.
14  *
15  * This program is distributed in the hope that it will be useful, but WITHOUT
16  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
18  * details.
19  *
20  * You should have received a copy of the GNU General Public License along with
21  * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
22  * Place, Suite 330, Boston, MA 02111-1307 USA
23  *
24  */

25
26 package com.j2biz.blogunity.pojo;
27
28 import java.io.Serializable JavaDoc;
29 import java.util.Date JavaDoc;
30
31 import org.apache.commons.lang.StringUtils;
32
33 /**
34  * @hibernate.class table="REFERERS" dynamic-insert = "true" dynamic-update =
35  * "true"
36  *
37  */

38 public class Referer implements Serializable JavaDoc {
39
40     private static final long serialVersionUID = 3618354108842373556L;
41
42     private Long JavaDoc id;
43
44     private String JavaDoc referer;
45
46     private String JavaDoc ip;
47
48     private long refererTimeInMillis;
49
50     private Blog blog;
51
52     /**
53      * <code>numberOfReferers</code> is a transient property used for
54      * statistical queries.
55      */

56     private int numberOfReferers;
57
58     /**
59      * Creates a referer for the given blog.
60      */

61     public Referer() {
62     }
63
64     /**
65      * Creates a referer for the given blog.
66      *
67      * @param blog
68      * @param referer
69      * @param ip
70      * @param refererTime
71      */

72     public Referer(Blog blog, String JavaDoc referer, String JavaDoc ip, Date JavaDoc refererTime) {
73         this(blog, referer, ip, refererTime.getTime());
74     }
75
76     public Referer(Blog blog, String JavaDoc referer, String JavaDoc ip, long refererTimeInMillis) {
77         this.blog = blog;
78         this.referer = referer;
79         this.ip = ip;
80         this.refererTimeInMillis = refererTimeInMillis;
81     }
82
83     /**
84      * This constructor is used only for statistical HQL-queries in RefererDAO.
85      *
86      * @param blog
87      * @param referer
88      * @param numberOfReferers
89      */

90     public Referer(String JavaDoc referer, int numberOfReferers) {
91         this.referer = referer;
92         this.numberOfReferers = numberOfReferers;
93     }
94
95     /**
96      * @hibernate.id generator-class="increment" type="long" column="ID"
97      * unsaved-value="null"
98      *
99      * @return Returns the id.
100      */

101     public Long JavaDoc getId() {
102         return id;
103     }
104
105     /**
106      * @param id
107      * The id to set.
108      */

109     public void setId(Long JavaDoc id) {
110         this.id = id;
111     }
112
113     /**
114      * @hibernate.many-to-one column="BLOG_ID"
115      * class="com.j2biz.blogunity.pojo.Blog"
116      *
117      * @return
118      */

119     public Blog getBlog() {
120         return blog;
121     }
122
123     /**
124      * @param blog
125      */

126     public void setBlog(Blog blog) {
127         this.blog = blog;
128     }
129
130     /**
131      *
132      * @return
133      */

134     public Date JavaDoc getRefererTime() {
135         return new Date JavaDoc(getRefererTimeInMillis());
136     }
137
138     /**
139      * @param refererTime
140      */

141     public void setRefererTime(Date JavaDoc date) {
142         this.refererTimeInMillis = date.getTime();
143     }
144
145     /**
146      * @hibernate.property name="refererTimeInMillis"
147      * column="REFERER_TIME_IN_MILLIS" type="long"
148      * not-null="true" unique="false"
149      *
150      * @return
151      */

152     public long getRefererTimeInMillis() {
153         return refererTimeInMillis;
154     }
155
156     public void setRefererTimeInMillis(long refererTimeInMillis) {
157         this.refererTimeInMillis = refererTimeInMillis;
158     }
159
160     /**
161      * @hibernate.property name="ip" column="IP" type="string" not-null="true"
162      * unique="false"
163      *
164      * @return ip-address.
165      */

166     public String JavaDoc getIp() {
167         return ip;
168     }
169
170     /**
171      * @param ip
172      */

173     public void setIp(String JavaDoc ip) {
174         this.ip = ip;
175     }
176
177     /**
178      * @hibernate.property name="referer" column="REFERER" type="string"
179      * not-null="false" unique="false"
180      *
181      * @return referer.
182      */

183     public String JavaDoc getReferer() {
184         return referer;
185     }
186
187     /**
188      * @param referer
189      */

190     public void setReferer(String JavaDoc referer) {
191         this.referer = referer;
192     }
193
194     /**
195      *
196      * @return
197      */

198     public int getNumberOfReferers() {
199         return numberOfReferers;
200     }
201
202     /**
203      * @param numberOfReferers
204      */

205     public void setNumberOfReferers(int numberOfReferers) {
206         this.numberOfReferers = numberOfReferers;
207     }
208
209     /*
210      * (non-Javadoc)
211      *
212      * @see java.lang.Object#toString()
213      */

214     public String JavaDoc toString() {
215         if (referer != null) {
216             return "<a HREF=\"" + referer + "\" title=\"" + referer + "\">"
217                     + StringUtils.abbreviate(referer, 25) + " (" + numberOfReferers + ")</a>";
218         } else {
219             return "Direct hit (" + numberOfReferers + ")";
220         }
221     }
222
223 }
Popular Tags