KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > james > userrepository > ListUsersJdbcRepository


1 /***********************************************************************
2  * Copyright (c) 2000-2004 The Apache Software Foundation. *
3  * All rights reserved. *
4  * ------------------------------------------------------------------- *
5  * Licensed under the Apache License, Version 2.0 (the "License"); you *
6  * may not use this file except in compliance with the License. You *
7  * may obtain a copy of the License at: *
8  * *
9  * http://www.apache.org/licenses/LICENSE-2.0 *
10  * *
11  * Unless required by applicable law or agreed to in writing, software *
12  * distributed under the License is distributed on an "AS IS" BASIS, *
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or *
14  * implied. See the License for the specific language governing *
15  * permissions and limitations under the License. *
16  ***********************************************************************/

17
18 package org.apache.james.userrepository;
19
20 import org.apache.james.services.User;
21
22 import java.sql.PreparedStatement JavaDoc;
23 import java.sql.ResultSet JavaDoc;
24 import java.sql.SQLException JavaDoc;
25
26 /**
27  * A very lightweight UserRepository, which persists a list
28  * of user names in a database. Password information is not
29  * persisted.
30  *
31  */

32 public class ListUsersJdbcRepository extends AbstractJdbcUsersRepository
33 {
34     /**
35      * Reads properties for a User from an open ResultSet.
36      *
37      * @param rsUsers A ResultSet with a User record in the current row.
38      * @return A User instance
39      * @throws SQLException
40      * if an exception occurs reading from the ResultSet
41      */

42     protected User readUserFromResultSet(ResultSet JavaDoc rsUsers) throws SQLException JavaDoc {
43         // Get the username, and build a DefaultUser with it.
44
String JavaDoc username = rsUsers.getString(1);
45         DefaultUser user = new DefaultUser(username, "SHA");
46         return user;
47     }
48
49     /**
50      * Set parameters of a PreparedStatement object with
51      * property values from a User instance.
52      * @param user a User instance, which should be an implementation class which
53      * is handled by this Repostory implementation.
54      * @param userInsert a PreparedStatement initialised with SQL taken from the "insert" SQL definition.
55      * @throws SQLException
56      * if an exception occurs while setting parameter values.
57      */

58     protected void setUserForInsertStatement(User user,
59                                              PreparedStatement JavaDoc userInsert)
60         throws SQLException JavaDoc {
61         userInsert.setString(1, user.getUserName());
62     }
63
64     /**
65      * Set parameters of a PreparedStatement object with
66      * property values from a User instance.
67      *
68      * @param user a User instance, which should be an implementation class which
69      * is handled by this Repostory implementation.
70      * @param userUpdate a PreparedStatement initialised with SQL taken from the "update" SQL definition.
71      * @throws SQLException
72      * if an exception occurs while setting parameter values.
73      */

74     protected void setUserForUpdateStatement(User user,
75                                              PreparedStatement JavaDoc userUpdate)
76         throws SQLException JavaDoc {
77         throw new UnsupportedOperationException JavaDoc("Can't update a List User - " +
78                                                 "only has a single attribute.");
79     }
80 }
81
Popular Tags