jtfacade.java
来自「Java Pattern Oriented Framework (Jt) 是为了」· Java 代码 · 共 132 行
JAVA
132 行
package Jt;
/**
* Jt Implementation of the Facade design pattern.
*/
public class JtFacade extends JtComposite {
public static final String JtCLASS_NAME = JtFacade.class.getName();
private static final long serialVersionUID = 1L;
public JtFacade () {
}
// Test this facade
private Object test () {
JtMessage msg, tmp;
// Broadcast the JtTEST message to all the subsystems
// of the facade
System.out.println
("Sending a JtTEST message to all the subsystems of the facade ...");
msg = new JtMessage (JtObject.JtBROADCAST);
tmp = new JtMessage (JtObject.JtTEST);
msg.setMsgContent (tmp);
return (sendMessage (this, msg));
}
/**
* Process object messages.
* <ul>
* <li>JtREMOVES - Performs any housekeeping that may be needed before the object is removed.
* </ul>
*/
public Object processMessage (Object event) {
String msgid = null;
JtMessage e = (JtMessage) event;
//Object content;
//Object data;
if (e == null)
return null;
msgid = (String) e.getMsgId ();
if (msgid == null)
return null;
//content = e.getMsgContent();
//data = e.getMsgData ();
if (msgid.equals (JtObject.JtTEST)) {
return (test ());
}
return (super.processMessage (event));
}
/**
* Demonstrates the messages processed by JtFacade.
*/
public static void main(String[] args) {
JtFactory factory = new JtFactory ();
JtFacade facade;
JtEcho echo1;
JtEcho echo2;
JtMessage msg;
// Create an instance of JtFacade
facade = (JtFacade) factory.createObject (JtFacade.JtCLASS_NAME, "facade");
echo1 = (JtEcho) factory.createObject (JtEcho.JtCLASS_NAME, "echo1");
echo2 = (JtEcho) factory.createObject (JtEcho.JtCLASS_NAME, "echo2");
System.out.println ("JtFacade(JtADD_CHILD): adding a subsystem ...");
msg = new JtMessage (JtComposite.JtADD_CHILD);
factory.setValue (msg, "msgContent", echo1);
//factory.setValue (msg, "msgData", "echo1");
factory.sendMessage (facade, msg);
System.out.println ("JtFacade(JtADD_CHILD): adding a subsystem ...");
msg = new JtMessage (JtComposite.JtADD_CHILD);
factory.setValue (msg, "msgContent", echo2);
//factory.setValue (msg, "msgData", "echo2");
factory.sendMessage (facade, msg);
factory.sendMessage (facade, new JtMessage (JtObject.JtTEST));
factory.removeObject ("facade");
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?