Clover Coverage Report - perfectjpattern(Aggregated)
Coverage timestamp: Sat Feb 28 2009 14:35:07 CET
../../../../../img/srcFileCovDistChart10.png 0% of files have more coverage
25   116   2   25
0   47   0.08   1
1     2  
1    
 
  Example       Line # 35 25 0% 2 0 100% 1.0
 
  (1)
 
1    //----------------------------------------------------------------------
2    //
3    // PerfectJPattern: "Design patterns are good but components are better!"
4    // Example.java Copyright (c) 2009 Giovanni Azua Garcia
5    // bravegag@hotmail.com
6    //
7    // This program is free software; you can redistribute it and/or
8    // modify it under the terms of the GNU General Public License
9    // as published by the Free Software Foundation; either version 3
10    // of the License, or (at your option) any later version.
11    //
12    // This program is distributed in the hope that it will be useful,
13    // but WITHOUT ANY WARRANTY; without even the implied warranty of
14    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15    // GNU General Public License for more details.
16    //
17    // You should have received a copy of the GNU General Public License
18    // along with this program; if not, see <http://www.gnu.org/licenses/>.
19    //
20    //----------------------------------------------------------------------
21    package org.perfectjpattern.core.behavioral.chainofresponsibility;
22   
23    import java.util.*;
24   
25    import org.perfectjpattern.core.api.behavioral.chainofresponsibility.*;
26   
27    /**
28    * Startup Main for the Chain Of Responsibility Pattern Example code
29    *
30    * @author <a href="mailto:bravegag@hotmail.com">Giovanni Azua</a>
31    * @version $Revision: 1.0 $Date: Apr 5, 2008 10:11:17 PM $
32    */
33    // CHECKSTYLE:OFF
34    public final
 
35    class Example
36    // CHECKSTYLE:ON
37    {
38    //------------------------------------------------------------------------
39    // public
40    //------------------------------------------------------------------------
 
41  1 toggle public static void
42    main(String[] anArguments)
43    {
44    //---------------------------------------------------------------
45    // Create all components of the Chain of Responsibility
46    //---------------------------------------------------------------
47  1 Button myOkButton = new Button("OK");
48  1 Button myPrintButton = new Button("Print");
49  1 Dialog mySaveDialog = new Dialog("Save");
50  1 Dialog myPrintDialog = new Dialog("Print");
51  1 Application myApplication = new Application();
52   
53    //---------------------------------------------------------------
54    // Build "Show Help" Chain of Responsibility
55    //---------------------------------------------------------------
56  1 myOkButton.getHelpHandler().setSuccessor(myPrintDialog.
57    getHelpHandler());
58  1 myPrintButton.getHelpHandler().setSuccessor(myPrintDialog.
59    getHelpHandler());
60  1 myPrintDialog.getHelpHandler().setSuccessor(myApplication.
61    getHelpHandler());
62  1 mySaveDialog.getHelpHandler().setSuccessor(myApplication.
63    getHelpHandler());
64   
65    //---------------------------------------------------------------
66    // Execute "Show Help" Chain of Responsibility from OK Button
67    //---------------------------------------------------------------
68  1 myOkButton.getHelpHandler().start();
69   
70    //---------------------------------------------------------------
71    // Execute "Show Help" Chain of Responsibility from Save Dialog
72    //---------------------------------------------------------------
73  1 mySaveDialog.getHelpHandler().start();
74   
75    //---------------------------------------------------------------
76    // Build "Print" Chain of Responsibility with a strategy
77    // AllHandleStrategy different than the default GoF Chain
78    // OnlyOneHandleStrategy
79    //---------------------------------------------------------------
80  1 myOkButton.getPrintHandler().setSuccessor(myPrintDialog.
81    getPrintHandler());
82  1 myPrintButton.getPrintHandler().setSuccessor(myPrintDialog.
83    getPrintHandler());
84  1 myPrintDialog.getPrintHandler().setSuccessor(myApplication.
85    getPrintHandler());
86  1 mySaveDialog.getPrintHandler().setSuccessor(myApplication.
87    getPrintHandler());
88   
89    //---------------------------------------------------------------
90    // for this use-case we switch to the default Strategy
91    // AllHandleStrategy
92    //---------------------------------------------------------------
93  1 List<IHandler<NullRequest>> myHandlers = new ArrayList<IHandler<
94    NullRequest>>();
95  1 myHandlers.add(myOkButton.getPrintHandler());
96  1 myHandlers.add(myPrintButton.getPrintHandler());
97  1 myHandlers.add(myPrintDialog.getPrintHandler());
98  1 myHandlers.add(mySaveDialog.getPrintHandler());
99  1 myHandlers.add(myApplication.getPrintHandler());
100   
101  1 for (IHandler<NullRequest> myHandler : myHandlers)
102    {
103  5 myHandler.setChainStrategy(AllHandleStrategy.getInstance());
104    }
105   
106    //---------------------------------------------------------------
107    // Execute the "Print" Chain of Responsibility from OK Button
108    //---------------------------------------------------------------
109  1 myOkButton.getPrintHandler().start();
110   
111    //---------------------------------------------------------------
112    // Execute the "Print" Chain of Responsibility from Save Dialog
113    //---------------------------------------------------------------
114  1 mySaveDialog.getPrintHandler().start();
115    }
116    }