📄 meetingmanager.java
字号:
/********************************************************
* 设计一个会议管理类
*
* ******************************************************
*/
package server.meeting;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import server.exception.MeetingInvalidException;
import server.exception.TimeInvalidException;
import server.exception.UserInvalidException;
import server.exception.MeetingNotExsitedException;
import server.user.User;
public class MeetingManager {
/**
* 会议记录
*/
private List<Meeting> meetingRecord = new LinkedList<Meeting>();
/**
*构造函数
*
*/
private MeetingManager() {
}
private final static MeetingManager meetingManagerIstance = new MeetingManager();
public static MeetingManager getUserInstance() {
return meetingManagerIstance;
}
/**
* 增加一个会议记录到列表中
*
*/
public void addMeeting(Meeting meeting) throws MeetingInvalidException {
if(meeting != null) {
meetingRecord.add(meeting);
}
else {
throw new MeetingInvalidException("会议添加不成功");
}
}
/**
* 查找某个用户在某段时间内的会议记录
*
*/
public Meeting queryMeeting(String meetingNo) throws MeetingNotExsitedException {
Iterator<Meeting> iter = meetingRecord.iterator();
Meeting meeting = null;
while(iter.hasNext()) {
Meeting m = iter.next();
if((m.getMeetingNo().equals(meetingNo))) {
meetingRecord.remove(m);
}
}
if(meeting != null) {
return meeting;
}
else {
throw new MeetingNotExsitedException("会议记录不存在");
}
}
/**
* 查找某段时间内所有的会议记录
*
*
*/
public List<Meeting> queryMeeting(TimeProcess timeInterval)
throws MeetingNotExsitedException, TimeInvalidException {
Iterator<Meeting> iter = meetingRecord.iterator();
List<Meeting> meetings = null;
meetings = new LinkedList<Meeting>();
while(iter.hasNext()) {
Meeting meeting = iter.next();
if(meeting.getTimeInterval().isOverLaped(timeInterval)) {
meetings.add(meeting);
}
}
if(meetings != null) {
return meetings;
}
else{
throw new MeetingNotExsitedException("会议记录不存在");
}
}
/**
* 查找某个用户的所有会议记录
*
*
*/
public List<Meeting> queryMeeting(User user)
throws MeetingNotExsitedException, UserInvalidException {
Iterator<Meeting> iter = meetingRecord.iterator();
List<Meeting> meetings = new LinkedList<Meeting>();
while(iter.hasNext()) {
Meeting meeting = iter.next();
if((meeting.getLaunchedUser().equals(user) || meeting.getScheduledUser().equals(user))) {
meetings.add(meeting);
}
}
if(meetings != null) {
return meetings;
}
else {
throw new MeetingNotExsitedException("会议记录不存在");
}
}
/**
* 查找某个用户在某段时间内的会议记录
*
*
*/
public List<Meeting> queryMeeting(User user, TimeProcess timeInterval)
throws MeetingNotExsitedException, UserInvalidException ,TimeInvalidException{
Iterator<Meeting> iter = meetingRecord.iterator();
List<Meeting> meetings = new LinkedList<Meeting>();
try {
while(iter.hasNext()) {
Meeting meeting = iter.next();
if((meeting.getLaunchedUser().equals(user) || meeting.getScheduledUser().equals(user))
&& (meeting.getTimeInterval().isOverLaped(timeInterval))) {
meetings.add(meeting);
}
}
}
catch(java.util.ConcurrentModificationException exc){
}
if(meetings != null) {
return meetings;
}
else {
throw new MeetingNotExsitedException("会议记录不存在");
}
}
/**
* 删除会议记录
*
*/
public String deleteMeeting(String meetingNo) throws MeetingNotExsitedException {
Meeting meeting = null;
String message = "编号为" + meetingNo + "的会议记录不存在";
Iterator<Meeting> iter = meetingRecord.iterator();
while(iter.hasNext()) {
meeting = iter.next();
if((meeting.getMeetingNo().equals(meetingNo))) {
iter.remove();
return message = "会议" + meetingNo + "已删除";
}
}
return message;
}
/**
* 清除某用户的所有会议记录
*
*/
public String clearMeeting(User user) throws UserInvalidException {
String message = "用户" + user.getUserName() + "的会议记录已全部清除";
Meeting meeting = null;
Iterator<Meeting> iter = meetingRecord.iterator();
while(iter.hasNext()) {
meeting = iter.next();
if(meeting.getLaunchedUser().equals(user) || meeting.getScheduledUser().equals(user)) {
iter.remove();
}
}
return message;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -