⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usermanager.java

📁 简单的会议议程系统,展示了Command 模式的应用
💻 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 + -