01: /*
02: * Copyright 2005-2007 Noelios Consulting.
03: *
04: * The contents of this file are subject to the terms of the Common Development
05: * and Distribution License (the "License"). You may not use this file except in
06: * compliance with the License.
07: *
08: * You can obtain a copy of the license at
09: * http://www.opensource.org/licenses/cddl1.txt See the License for the specific
10: * language governing permissions and limitations under the License.
11: *
12: * When distributing Covered Code, include this CDDL HEADER in each file and
13: * include the License file at http://www.opensource.org/licenses/cddl1.txt If
14: * applicable, add the following below this CDDL HEADER, with the fields
15: * enclosed by brackets "[]" replaced with your own identifying information:
16: * Portions Copyright [yyyy] [name of copyright owner]
17: */
18:
19: package com.noelios.restlet.component;
20:
21: import org.restlet.Client;
22: import org.restlet.Component;
23: import org.restlet.Router;
24:
25: /**
26: * Router that collects calls from all applications and dispatches them to the
27: * appropriate client connectors.
28: *
29: * @author Jerome Louvel (contact@noelios.com)
30: */
31: public class ClientRouter extends Router {
32: /** The parent component. */
33: private Component component;
34:
35: /**
36: * Constructor.
37: *
38: * @param component
39: * The parent component.
40: */
41: public ClientRouter(Component component) {
42: super (component.getContext());
43: this .component = component;
44: }
45:
46: /** Starts the Restlet. */
47: public void start() throws Exception {
48: for (Client client : getComponent().getClients()) {
49: getRoutes().add(new ClientRoute(this , client));
50: }
51:
52: super .start();
53: }
54:
55: /**
56: * Returns the parent component.
57: *
58: * @return The parent component.
59: */
60: private Component getComponent() {
61: return this.component;
62: }
63: }
|