?? messagequeue.java
字號:
/*
* Copyright 1999 by dreamBean Software,
* All rights reserved.
*/
package masteringrmi.chat.server;
import java.rmi.RemoteException;
import java.util.ArrayList;
import masteringrmi.chat.interfaces.*;
/**
* This is a message queue for the chat server.
*
* @see TopicServerImpl
* @author Rickard 謆erg (rickard@dreambean.com)
* @version $Revision:$
*/
class MessageQueue
{
// Attributes ----------------------------------------------------
ArrayList messageQueue = new ArrayList();
Listener listener;
// Constructors --------------------------------------------------
MessageQueue(Listener listener)
{
this.listener = listener;
}
// Package protected ---------------------------------------------
synchronized void add(Message message)
{
messageQueue.add(message);
}
synchronized int send()
throws RemoteException
{
int messageCount = messageQueue.size();
// Check nr of messages to send
if (messageCount == 1)
{
// Send the message
listener.getListener().messagePublished((Message)messageQueue.get(0));
} else
{
// Send all messages
listener.getListener().messagePublished(messageQueue);
}
// Remove messages
messageQueue.clear();
return messageCount;
}
synchronized Listener getListener()
{
return listener;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -