📄 replyutil.java
字号:
/*
* LumaQQ - Java QQ Client
*
* Copyright (C) 2004 luma <stubma@163.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package edu.tsinghua.lumaqq.utils;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import edu.tsinghua.lumaqq.qq.Util;
import edu.tsinghua.lumaqq.xml.replies.Replies;
/**
* 管理回复信息的工具类
*
* @author 马若劼
*/
public class ReplyUtil {
// Log对象
private static Log log = LogFactory.getLog(ReplyUtil.class);
// 回复信息文件名
private String fileName;
// 根元素对象
private Replies replies;
// 自动回复和快捷回复列表
private List autoReplies, quickReplies;
// singleton模式
private static ReplyUtil instance = new ReplyUtil();
// 现在是否有自动回复
private boolean autoReply;
/**
* 私有构造函数
*/
private ReplyUtil() {
autoReplies = new ArrayList();
quickReplies = new ArrayList();
}
/**
* @return 单一实例
*/
public static ReplyUtil getInstance() {
return instance;
}
/**
* 设置回复信息文件的根元素对象
* @param options
*/
public void setRepliesModel(Replies replies) {
this.replies = replies;
autoReplies = replies.getAutoReplyList();
quickReplies = replies.getQuickReplyList();
}
/**
* 清空所有自动回复
*/
public void removeAllAutoReplies() {
autoReplies.clear();
}
/**
* 清空所有快速回复
*/
public void removeAllQuickReplies() {
quickReplies.clear();
}
/**
* @return 当前快捷回复索引
*/
public int getCurrentQuickReply() {
return Util.getInt(replies.getCurrentQuickReply(), 0);
}
/**
* @return 当前自动回复索引
*/
public int getCurrentAutoReply() {
return Util.getInt(replies.getCurrentAutoReply(), 0);
}
/**
* 设置当前快捷回复
* @param i
*/
public void setCurrentQuickReply(int i) {
replies.setCurrentQuickReply(String.valueOf(i));
}
/**
* 设置当前自动回复
* @param i
*/
public void setCurrentAutoReply(int i) {
replies.setCurrentAutoReply(String.valueOf(i));
}
/**
* @return 当前自动回复字符串
*/
public String getCurrentAutoReplyString() {
if(getCurrentAutoReply() >= getAutoReplySize())
return "";
else
return (String)autoReplies.get(getCurrentAutoReply());
}
/**
* @return 当前快捷回复字符串
*/
public String getCurrentQuickReplyString() {
if(getCurrentQuickReply() >= getQuickReplySize())
return "";
else
return (String)quickReplies.get(getCurrentQuickReply());
}
/**
* @return 快捷回复的数目
*/
public int getQuickReplySize() {
return quickReplies.size();
}
/**
* @return 自动回复的数目
*/
public int getAutoReplySize() {
return autoReplies.size();
}
/**
* 添加快捷回复
* @param s
*/
public void addQuickReply(String s) {
quickReplies.add(s);
}
/**
* 添加自动回复
* @param s
*/
public void addAutoReply(String s) {
autoReplies.add(s);
}
/**
* 删除一条快捷回复
* @param i
*/
public void removeQuickReply(int i) {
if(i < 0 || i > quickReplies.size()) return;
quickReplies.remove(i);
}
/**
* 删除一条自动回复
* @param i
*/
public void removeAutoReply(int i) {
if(i < 0 || i > autoReplies.size()) return;
autoReplies.remove(i);
}
/**
* 得到第i条快捷回复
* @param i
* @return
*/
public String getQuickReply(int i) {
if(i < 0 || i > quickReplies.size()) return null;;
return (String)quickReplies.get(i);
}
/**
* 得到第i条自动回复
* @param i
* @return
*/
public String getAutoReply(int i) {
if(i < 0 || i > autoReplies.size()) return null;
return (String)autoReplies.get(i);
}
/**
* @return 快捷回复列表
*/
public List getQuickReplies() {
return quickReplies;
}
/**
* @return 自动回复列表
*/
public List getAutoReplies() {
return autoReplies;
}
/**
* 保存回复信息
*/
public void save() {
File file = new File(fileName);
try {
replies.setAutoReplyList(autoReplies);
replies.setQuickReplyList(quickReplies);
replies.marshal(file);
} catch (IOException e) {
log.error("无法保存回复信息文件,所作的改变将丢弃");
}
}
/**
* @param string
*/
public void setFileName(String string) {
this.fileName = string;
}
/**
* @return Returns the autoReply.
*/
public boolean isAutoReply() {
return autoReply;
}
/**
* @param autoReply The autoReply to set.
*/
public void setAutoReply(boolean autoReply) {
this.autoReply = autoReply;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -