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