org.apache.james.userrepository
Class DefaultUsersJdbcRepository
java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.james.impl.jamesuser.AbstractUsersRepository
org.apache.james.userrepository.AbstractJdbcUsersRepository
org.apache.james.userrepository.DefaultUsersJdbcRepository
- All Implemented Interfaces:
- org.apache.avalon.framework.activity.Initializable, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.logger.LogEnabled, org.apache.avalon.framework.service.Serviceable, UsersRepository, VirtualUserTable, JamesUsersRepository
public class DefaultUsersJdbcRepository
- extends AbstractJdbcUsersRepository
A Jdbc-backed UserRepository which handles User instances
of the DefaultUser
class.
Although this repository can handle subclasses of DefaultUser,
like DefaultJamesUser
, only properties from
the DefaultUser class are persisted.
TODO Please note that default configuration uses JamesUsersJdbcRepository
instead of this class. So we could also delete this implementation.
Method Summary |
boolean |
addUser(java.lang.String username,
java.lang.String password)
Adds a user to the repository with the specified password |
protected User |
readUserFromResultSet(java.sql.ResultSet rsUsers)
Reads properties for a User from an open ResultSet. |
protected void |
setUserForInsertStatement(User user,
java.sql.PreparedStatement userInsert)
Set parameters of a PreparedStatement object with property values from a
User instance. |
protected void |
setUserForUpdateStatement(User user,
java.sql.PreparedStatement userUpdate)
Set parameters of a PreparedStatement object with property values from a
User instance. |
Methods inherited from class org.apache.james.userrepository.AbstractJdbcUsersRepository |
configure, contains, containsCaseInsensitive, countUsers, doAddUser, doRemoveUser, doUpdateUser, getRealName, getUserByName, getUserByName, getUserByNameCaseInsensitive, getUserByNameIterating, initialize, list, listAllUsers, listUserNames, removeUser, service, test |
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled |
enableLogging, getLogger, setupLogger, setupLogger, setupLogger |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DefaultUsersJdbcRepository
public DefaultUsersJdbcRepository()
readUserFromResultSet
protected User readUserFromResultSet(java.sql.ResultSet rsUsers)
throws java.sql.SQLException
- Description copied from class:
AbstractJdbcUsersRepository
- Reads properties for a User from an open ResultSet. Subclass
implementations of this method must have knowledge of the fields
presented by the "select" and "selectByLowercaseName" SQL statements.
These implemenations may generate a subclass-specific User instance.
- Specified by:
readUserFromResultSet
in class AbstractJdbcUsersRepository
- Parameters:
rsUsers
- A ResultSet with a User record in the current row.
- Returns:
- A User instance
- Throws:
java.sql.SQLException
- if an exception occurs reading from the ResultSet- See Also:
AbstractJdbcUsersRepository.readUserFromResultSet(java.sql.ResultSet)
setUserForInsertStatement
protected void setUserForInsertStatement(User user,
java.sql.PreparedStatement userInsert)
throws java.sql.SQLException
- Description copied from class:
AbstractJdbcUsersRepository
- Set parameters of a PreparedStatement object with property values from a
User instance. Implementations of this method have knowledge of the
parameter ordering of the "insert" SQL statement definition.
- Specified by:
setUserForInsertStatement
in class AbstractJdbcUsersRepository
- Parameters:
user
- a User instance, which should be an implementation class which
is handled by this Repostory implementation.userInsert
- a PreparedStatement initialised with SQL taken from the
"insert" SQL definition.
- Throws:
java.sql.SQLException
- if an exception occurs while setting parameter values.- See Also:
AbstractJdbcUsersRepository.setUserForInsertStatement(org.apache.james.api.user.User, java.sql.PreparedStatement)
setUserForUpdateStatement
protected void setUserForUpdateStatement(User user,
java.sql.PreparedStatement userUpdate)
throws java.sql.SQLException
- Description copied from class:
AbstractJdbcUsersRepository
- Set parameters of a PreparedStatement object with property values from a
User instance. Implementations of this method have knowledge of the
parameter ordering of the "update" SQL statement definition.
- Specified by:
setUserForUpdateStatement
in class AbstractJdbcUsersRepository
- Parameters:
user
- a User instance, which should be an implementation class which
is handled by this Repostory implementation.userUpdate
- a PreparedStatement initialised with SQL taken from the
"update" SQL definition.
- Throws:
java.sql.SQLException
- if an exception occurs while setting parameter values.- See Also:
AbstractJdbcUsersRepository.setUserForUpdateStatement(org.apache.james.api.user.User, java.sql.PreparedStatement)
addUser
public boolean addUser(java.lang.String username,
java.lang.String password)
- Description copied from interface:
UsersRepository
- Adds a user to the repository with the specified password
- Parameters:
username
- the username of the user to be addedpassword
- the password of the user to add
- Returns:
- true if succesful, false otherwise
- See Also:
UsersRepository.addUser(java.lang.String, java.lang.String)
Copyright ? 2002-2009 The Apache Software Foundation. All Rights Reserved.