📄 clientmanager.java
字号:
/**
*
*/
package agenda.model;
import java.util.*;
/**
* client manager implementation for manager design pattern
*
* @author Cyberpet
*
*/
public class ClientManager {
private ArrayList<Client> clientList = new ArrayList<Client>();
/*
* add a user
*/
public boolean addUser(Client client) {
if (this.getClientByName(client.getName()) == null)
return this.clientList.add(client);
else
return false;
}
/*
* judge a user has been contained in list yet
*/
public boolean isContained(String name) {
return this.getClientByName(name) != null;
}
public boolean addUser(String name, String psw) {
if (this.getClientByName(name) == null) {
this.clientList.add(new Client(name, psw));
return true;
} else
return false;
}
/*
* remove user
*/
public boolean removeUser(String name) {
return this.clientList.remove(this.getClientByName(name));
}
/*
* retrieve client instance by user name
*/
public Client getClientByName(String name) {
for (Client clt : this.clientList)
if (clt.getName().compareTo(name) == 0)
return clt;
return null;
}
// if object is not contained in list, return -1
public int getIndexByName(String name) {
return this.clientList.indexOf(this.getClientByName(name));
}
/*
* register a user
*/
public boolean regUser(String name, String psw) {
Client clt = this.getClientByName(name);
return clt != null && clt.getPsw().compareTo(psw) == 0;
}
/**
* static class for Singleton design pattern, instance of ClientManager will
* be created when the first time you make a call to
* ClientManager.getInstance
*
* @author Cyberpet
* @see MeetingManager#getInstance()
*/
static class ClientManagerSingletonHolder {
static ClientManager instance = new ClientManager();
}
/**
* get the only instance of ClientManager
*
* @return ClientManager
* @see ClientManager
*/
public static ClientManager getInstance() {
return ClientManagerSingletonHolder.instance;
}
public String toString() {
String res = new String();
for (Client clt : this.clientList)
res += clt.toString() + "\n";
return new String(res);
}
/**
* @param args
* @return void
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Client clt1 = new Client("", "");
Client clt2 = new Client("abc", "0");
Client clt3 = new Client("123", "wert");
ClientManager.getInstance().addUser(clt1);
ClientManager.getInstance().addUser(clt2);
ClientManager.getInstance().addUser(clt3);
System.out.println(ClientManager.getInstance().toString());
ClientManager.getInstance().removeUser("123");
System.out.println(ClientManager.getInstance().toString());
if (ClientManager.getInstance().regUser("abc", "0"))
// ClientManager.getInstance().regUser("abc", "")
System.out.println("registed!");
else
System.out.println("not registed!");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -