colleague.java
来自「Java Pattern Oriented Framework (Jt) 是为了」· Java 代码 · 共 162 行
JAVA
162 行
package Jt.examples.patterns;
import Jt.JtMessage;
import Jt.JtObject;
import Jt.JtThread;
/**
* Chat room member (runs in a separate thread)
*/
public class Colleague extends JtThread {
public static final String JtCLASS_NAME = Colleague.class.getName();
private static final long serialVersionUID = 1L;
Object mediator;
String greetingMessage = "Hi there ";
/**
* Specifies the greeting message.
*
* @param greetingMessage greetingMessage
*/
public void setGreetingMessage (String greetingMessage) {
this.greetingMessage = greetingMessage;
}
/**
* Returns the greeting message.
*/
public String getGreetingMessage () {
return (greetingMessage);
}
/**
* Specifies the mediator object.
*
* @param mediator mediator
*/
public void setMediator (Object mediator) {
this.mediator = mediator;
}
/**
* Returns the mediator.
*/
public Object getMediator () {
return (mediator);
}
public Colleague () {
}
// sleep for a period of time
private void sleep (long period) {
try {
Thread.sleep (period);
} catch (Exception e) {
handleException (e);
}
}
/**
* Process object messages.
* <ul>
* </ul>
* @param message Jt Message
*/
public Object processMessage (Object message) {
String msgid = null;
JtMessage e = (JtMessage) message;
//Object content;
//Object data;
JtMessage tmp;
if (e == null)
return null;
msgid = (String) e.getMsgId ();
if (msgid == null)
return null;
//content = e.getMsgContent();
//data = e.getMsgData ();
// Remove this object
if (msgid.equals (JtObject.JtREMOVE)) {
return (null);
}
if (msgid.equals (Mediator.MESSAGE)) {
return (null);
}
if (msgid.equals (JtObject.JtACTIVATE)) {
if (mediator == null) {
handleError ("the mediator attribute needs to be set");
return (null);
}
// Join the chat room
tmp = new JtMessage (Mediator.JOIN);
tmp.setMsgContent (this);
sendMessage (mediator, tmp);
// Send a message
tmp = new JtMessage (Mediator.MESSAGE);
tmp.setMsgContent (greetingMessage);
tmp.setMsgData (this);
sendMessage (mediator, tmp);
// Sleep for a few seconds
sleep (3000L);
// Exit the chat room
tmp = new JtMessage (Mediator.EXIT);
tmp.setMsgContent (this);
sendMessage (mediator, tmp);
return (null);
}
return (super.processMessage (message));
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?