View Javadoc

1   //----------------------------------------------------------------------
2   // 
3   // PerfectJPattern: "Design patterns are good but components are better!" 
4   // Car.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.visitor;
22  
23  /**
24   * Car. Please note: ZERO relations to Visitor-specific pattern 
25   * details e.g. Visitor etc. Makes inclusion of the Visitor pattern easier 
26   * in existing designs.
27   *
28   * @author <a href="mailto:bravegag@hotmail.com">Giovanni Azua</a>
29   * @version $Revision: 1.0 $Date: Jun 8, 2008 11:56:52 PM $
30   */
31  public 
32  class Car
33  implements ICarPart
34  {
35      //------------------------------------------------------------------------
36      // public
37      //------------------------------------------------------------------------
38      public Engine 
39      getEngine() 
40      {
41          return theEngine;
42      }
43   
44      //------------------------------------------------------------------------
45      public Body 
46      getBody() 
47      {
48          return theBody;
49      }
50   
51      //------------------------------------------------------------------------
52      public Wheel[] 
53      getWheels() 
54      {
55          return theWheels;
56      }
57   
58      //------------------------------------------------------------------------
59      // members
60      //------------------------------------------------------------------------
61      private final Engine theEngine = new Engine();
62      private final Body theBody = new Body();
63      private final Wheel[] theWheels = 
64      {       
65          new Wheel("front left"), 
66          new Wheel("front right"),
67          new Wheel("back left"), 
68          new Wheel("back right")  
69      };    
70  }