001 package Jt;
002
003
004
005 /**
006 * Jt Implementation of the Facade design pattern.
007 */
008
009 public class JtFacade extends JtComponent {
010
011
012 public static final String JtCLASS_NAME = JtFacade.class.getName();
013 private static final long serialVersionUID = 1L;
014
015
016 public JtFacade () {
017 }
018
019
020
021 /**
022 * Process object messages. Subclasses should override this method.
023 * <ul>
024 * </ul>
025 */
026
027 public Object processMessage (Object message) {
028
029
030
031 return (super.processMessage (message));
032
033
034 }
035
036
037 /**
038 * Demonstrates the messages processed by JtFacade.
039 */
040
041
042 public static void main(String[] args) {
043
044 JtFactory factory = new JtFactory ();
045 JtFacade facade;
046 JtEcho echo1;
047 JtEcho echo2;
048 JtMessage msg;
049
050 // Create an instance of JtFacade
051
052 facade = (JtFacade) factory.createObject (JtFacade.JtCLASS_NAME);
053
054
055 echo1 = (JtEcho) factory.createObject (JtEcho.JtCLASS_NAME);
056 echo2 = (JtEcho) factory.createObject (JtEcho.JtCLASS_NAME);
057
058
059 System.out.println ("JtFacade(JtADD_CHILD): adding a subsystem ...");
060
061 msg = new JtMessage (JtComposite.JtADD_CHILD);
062 msg.setMsgContent(echo1);
063
064
065 factory.sendMessage (facade, msg);
066
067
068 System.out.println ("JtFacade(JtADD_CHILD): adding a subsystem ...");
069
070 msg = new JtMessage (JtComposite.JtADD_CHILD);
071 msg.setMsgContent(echo2);
072
073
074
075 }
076
077
078 }
079
080