📄 usermanager.java
字号:
/*
* @(#)UserManager.java 2006/11/13
*
* Copyright (c) ZhiYang.
* All rights reserved.
*/
package agenda;
import java.util.*;
/**
* 用户数据记录管理
* @version 1.0
* @author 杨智 (MSE2006B-06250145)
*
*/
public class UserManager {
/*
* container of user records
*/
Map users = new TreeMap();
/*
* exception
*/
static class InvalidRecord extends Exception {
public InvalidRecord() {
super("The user record is invalid!");
}
}
static class AlreadyExisted extends Exception {
public AlreadyExisted() {
super("User already exists!");
}
}
/*
* register a user to system
* @throws InvalidRecord, AlreadyExisted
*/
public void registerUser( User aUser ) throws InvalidRecord, AlreadyExisted {
if( aUser==null || !aUser.isValid() ) {
throw new InvalidRecord();
}
if( findUser( aUser.name) ) {
throw new AlreadyExisted();
}
users.put(aUser.name, aUser.password);
}
/*
* find a user by name
* @return if user exists, return true
*/
public boolean findUser( String strUsername ) {
return (null!=users.get( strUsername ));
}
/*
* validate a user's record
* @return if the record is valid, return true
*/
public boolean validateUser( User aUser ) {
String retPass = (String) users.get( aUser.name );
if( null == retPass )
return false;
return ( 0 == retPass.compareTo(aUser.password) );
}
/*
* unit test
*/
public static void main( String argv[] ) {
User usr1 = new User("test001","tester001");
User usr2 = new User("test2","tester2");
User usr3 = new User("test03","tester03");
User usr4 = null;
UserManager mgr = new UserManager();
try {
mgr.registerUser( usr1 );
mgr.registerUser( usr2 );
mgr.registerUser( usr3 );
}
catch ( Exception e ) {
System.out.println ("Wrong exception<bug!>: " + e.getMessage() );
}
try {
mgr.registerUser(usr4);
}
catch ( Exception e ) {
System.out.println(e.getMessage());
}
try {
mgr.registerUser(usr2);
}
catch ( Exception e ) {
System.out.println(e.getMessage());
}
if( mgr.findUser("test03") )
System.out.println("test03 is found!");
else System.out.println("test03 is not found!");
if( mgr.validateUser(usr1) && mgr.validateUser(usr2) && mgr.validateUser(usr3) )
System.out.println("validation succeeded!");
else System.out.println("validation failed!");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -