KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > jforum > dao > UserSessionDAO


1 /*
2  * Copyright (c) 2003, Rafael Steil
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms,
6  * with or without modification, are permitted provided
7  * that the following conditions are met:
8  *
9  * 1) Redistributions of source code must retain the above
10  * copyright notice, this list of conditions and the
11  * following disclaimer.
12  * 2) Redistributions in binary form must reproduce the
13  * above copyright notice, this list of conditions and
14  * the following disclaimer in the documentation and/or
15  * other materials provided with the distribution.
16  * 3) Neither the name of "Rafael Steil" nor
17  * the names of its contributors may be used to endorse
18  * or promote products derived from this software without
19  * specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
22  * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
23  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
24  * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
27  * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
28  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
32  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
34  * IN CONTRACT, STRICT LIABILITY, OR TORT
35  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
36  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
37  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
38  *
39  * Created on 30/05/2004 13:12:34
40  * The JForum Project
41  * http://www.jforum.net
42  */

43 package net.jforum.dao;
44
45 import java.sql.Connection JavaDoc;
46
47 import net.jforum.entities.UserSession;
48
49 /**
50  * @author Rafael Steil
51  * @version $Id: UserSessionDAO.java,v 1.4 2005/07/26 03:04:29 rafaelsteil Exp $
52  */

53 public interface UserSessionDAO
54 {
55     /**
56      * Writes a new <code>UserSession</code> to the database.
57      *
58      * @param us The <code>UserSession</code> to store
59      * @param conn The {@link java.sql.Connection} object to use.
60      * As many times user session management will be done in places where
61      * a valid request is not available, we cannot try to retrieve the
62      * conneciton from the thread local implementation. <br>
63      * If any driver implementation of this method will not use a database
64      * ( eg, where a <code>Connection</code> is not required ), when just
65      * pass <code>null</code> as argument.
66      * @throws Exception
67      */

68     public void add(UserSession us, Connection JavaDoc conn) throws Exception JavaDoc;
69     
70     /**
71      * Updates an <code>UserSession</code>
72      *
73      * @param us The <code>UserSession</code> to update
74      * @param conn The {@link java.sql.Connection} object to use.
75      * As many times user session management will be done in places where
76      * a valid request is not available, we cannot try to retrieve the
77      * conneciton from the thread local implementation. <br>
78      * If any driver implementation of this method will not use a database
79      * ( eg, where a <code>Connection</code> is not required ), when just
80      * pass <code>null</code> as argument.
81
82      * @throws Exception
83      */

84     public void update(UserSession us, Connection JavaDoc conn) throws Exception JavaDoc;
85     
86     /**
87      * Gets an <code>UserSession</code> from the database.
88      * The object passed as argument should at least have the user id
89      * in order to find the correct register.
90      *
91      * @param us The complete <code>UserSession</code> object data
92      * @param conn The {@link java.sql.Connection} object to use.
93      * As many times user session management will be done in places where
94      * a valid request is not available, we cannot try to retrieve the
95      * conneciton from the thread local implementation. <br>
96      * If any driver implementation of this method will not use a database
97      * ( eg, where a <code>Connection</code> is not required ), when just
98      * pass <code>null</code> as argument.
99      *
100      * @return
101      */

102     public UserSession selectById(UserSession us, Connection JavaDoc conn) throws Exception JavaDoc;
103 }
104
Popular Tags