org.apache.james.userrepository
Class UsersFileRepository

java.lang.Object
  |
  +--org.apache.avalon.framework.logger.AbstractLoggable
        |
        +--org.apache.james.userrepository.UsersFileRepository
All Implemented Interfaces:
org.apache.avalon.framework.component.Component, org.apache.avalon.framework.component.Composable, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.activity.Initializable, org.apache.avalon.framework.logger.Loggable, UsersRepository

public class UsersFileRepository
extends org.apache.avalon.framework.logger.AbstractLoggable
implements UsersRepository, org.apache.avalon.framework.component.Component, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.component.Composable, org.apache.avalon.framework.activity.Initializable

Implementation of a Repository to store users on the File System. Requires a configuration element in the .conf.xml file of the form: Requires a logger called UsersRepository.

Version:
1.0.0, 24/04/1999
Author:
Federico Barbieri , Charles Benett Last changed by: $Author: charlesb $ on $Date: 2001/06/11 09:29:35 $ $Revision: 1.3 $

Field Summary
protected static boolean DEEP_DEBUG
           
 
Fields inherited from interface org.apache.james.services.UsersRepository
ROLE, USER
 
Constructor Summary
UsersFileRepository()
           
 
Method Summary
 void addUser(java.lang.String name, java.lang.Object attributes)
          Adds a user to the repository with the specified attributes.
 boolean addUser(User user)
          Adds a user to the repository with the specified User object.
 void compose(org.apache.avalon.framework.component.ComponentManager componentManager)
           
 void configure(org.apache.avalon.framework.configuration.Configuration configuration)
           
 boolean contains(java.lang.String name)
          Returns whether or not this user is in the repository
 boolean containsCaseInsensitive(java.lang.String name)
          Returns whether or not this user is in the repository.
 int countUsers()
          Returns a count of the users in the repository.
 java.lang.Object getAttributes(java.lang.String name)
          Gets the attribute for a user.
 java.lang.String getRealName(java.lang.String name)
          Returns the user name of the user matching name on an equalsIgnoreCase basis.
 User getUserByName(java.lang.String name)
          Get the user object with the specified user name.
 User getUserByNameCaseInsensitive(java.lang.String name)
          Get the user object with the specified user name.
 void initialize()
           
 java.util.Iterator list()
          List users in repository.
 void removeUser(java.lang.String name)
          Removes a user from the repository
 boolean test(java.lang.String name, java.lang.Object attributes)
          Tests a user with the appropriate attributes.
 boolean test(java.lang.String name, java.lang.String password)
          Test if user with name 'name' has password 'password'.
 boolean updateUser(User user)
          Update the repository with the specified user object.
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLoggable
getLogger, setLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEEP_DEBUG

protected static boolean DEEP_DEBUG
Constructor Detail

UsersFileRepository

public UsersFileRepository()
Method Detail

configure

public void configure(org.apache.avalon.framework.configuration.Configuration configuration)
               throws org.apache.avalon.framework.configuration.ConfigurationException
Specified by:
configure in interface org.apache.avalon.framework.configuration.Configurable

compose

public void compose(org.apache.avalon.framework.component.ComponentManager componentManager)
             throws org.apache.avalon.framework.component.ComponentException
Specified by:
compose in interface org.apache.avalon.framework.component.Composable

initialize

public void initialize()
                throws java.lang.Exception
Specified by:
initialize in interface org.apache.avalon.framework.activity.Initializable

list

public java.util.Iterator list()
Description copied from interface: UsersRepository
List users in repository.
Specified by:
list in interface UsersRepository

addUser

public boolean addUser(User user)
Description copied from interface: UsersRepository
Adds a user to the repository with the specified User object.
Specified by:
addUser in interface UsersRepository

addUser

public void addUser(java.lang.String name,
                    java.lang.Object attributes)
Description copied from interface: UsersRepository
Adds a user to the repository with the specified attributes. In current implementations, the Object attributes is generally a String password.
Specified by:
addUser in interface UsersRepository

getUserByName

public User getUserByName(java.lang.String name)
Description copied from interface: UsersRepository
Get the user object with the specified user name. Return null if no such user.
Specified by:
getUserByName in interface UsersRepository

getUserByNameCaseInsensitive

public User getUserByNameCaseInsensitive(java.lang.String name)
Description copied from interface: UsersRepository
Get the user object with the specified user name. Match user naems on a case insensitive basis. Return null if no such user.
Specified by:
getUserByNameCaseInsensitive in interface UsersRepository

getRealName

public java.lang.String getRealName(java.lang.String name)
Description copied from interface: UsersRepository
Returns the user name of the user matching name on an equalsIgnoreCase basis. Returns null if no match.
Specified by:
getRealName in interface UsersRepository

getAttributes

public java.lang.Object getAttributes(java.lang.String name)
Description copied from interface: UsersRepository
Gets the attribute for a user. Not clear on behavior.
Specified by:
getAttributes in interface UsersRepository

updateUser

public boolean updateUser(User user)
Description copied from interface: UsersRepository
Update the repository with the specified user object. A user object with this username must already exist.
Specified by:
updateUser in interface UsersRepository

removeUser

public void removeUser(java.lang.String name)
Description copied from interface: UsersRepository
Removes a user from the repository
Specified by:
removeUser in interface UsersRepository

contains

public boolean contains(java.lang.String name)
Description copied from interface: UsersRepository
Returns whether or not this user is in the repository
Specified by:
contains in interface UsersRepository

containsCaseInsensitive

public boolean containsCaseInsensitive(java.lang.String name)
Description copied from interface: UsersRepository
Returns whether or not this user is in the repository. Names are matched on a case insensitive basis.
Specified by:
containsCaseInsensitive in interface UsersRepository

test

public boolean test(java.lang.String name,
                    java.lang.Object attributes)
Description copied from interface: UsersRepository
Tests a user with the appropriate attributes. In current implementations, this typically means "check the password" where a String password is passed as the Object attributes.
Specified by:
test in interface UsersRepository

test

public boolean test(java.lang.String name,
                    java.lang.String password)
Description copied from interface: UsersRepository
Test if user with name 'name' has password 'password'.
Specified by:
test in interface UsersRepository

countUsers

public int countUsers()
Description copied from interface: UsersRepository
Returns a count of the users in the repository.
Specified by:
countUsers in interface UsersRepository


"Copyright © 2001 Apache Jakarta Project. All Rights Reserved."