View Javadoc

1   /*
2    * Copyright (c) 2005-2007 Creative Sphere Limited.
3    * All rights reserved. This program and the accompanying materials
4    * are made available under the terms of the Eclipse Public License v1.0
5    * which accompanies this distribution, and is available at
6    * http://www.eclipse.org/legal/epl-v10.html
7    *
8    * Contributors:
9    *
10   *   Creative Sphere - initial API and implementation
11   *
12   */
13  package org.abstracthorizon.danube.mvc;
14  
15  import org.abstracthorizon.danube.connection.Connection;
16  import org.abstracthorizon.danube.connection.ConnectionHandler;
17  
18  import java.io.IOException;
19  
20  /**
21   * Tihs class is driver of MVC. It invokes action that returns view (and modem) and then view
22   * renderer is called with that invformation.
23   *
24   * @author Daniel Sendula
25   *
26   * @assoc - - - org.abstracthorizon.danube.mvc.ModelAndView
27   */
28  public class MVCConnectionHandler implements ConnectionHandler {
29  
30      /** Action manager */
31      protected Controller controller;
32  
33      /** View renderer */
34      protected View view;
35  
36      /** Constructor */
37      public MVCConnectionHandler() {
38      }
39  
40      /**
41       * This method calls action manager to obtain view and model and then
42       * view renderer with that information
43       * @param connection connection
44       * @throws IOException when there are problems with rendering the view
45       */
46      public void handleConnection(Connection connection) {
47          ModelAndView modelAndView = controller.handleRequest(connection);
48          view.render(connection, modelAndView);
49      }
50  
51      /**
52       * Returns action manager
53       * @return action manager
54       */
55      public Controller getController() {
56          return controller;
57      }
58  
59      /**
60       * Sets action manager
61       * @param controller action manager
62       */
63      public void setController(Controller controller) {
64          this.controller = controller;
65      }
66  
67      /**
68       * Returns view renderer
69       * @return view renderer
70       */
71      public View getView() {
72          return view;
73      }
74  
75      /**
76       * Sets view renderer
77       * @param view view renderer
78       */
79      public void setView(View view) {
80          this.view = view;
81      }
82  
83  }