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 org.restlet.util;
20:
21: import org.restlet.Client;
22: import org.restlet.Context;
23: import org.restlet.data.Protocol;
24:
25: /**
26: * Modifiable list of client connectors.
27: *
28: * @author Jerome Louvel (contact@noelios.com)
29: */
30: public final class ClientList extends WrapperList<Client> {
31: /** The context. */
32: private Context context;
33:
34: /**
35: * Constructor.
36: *
37: * @param context
38: * The context.
39: */
40: public ClientList(Context context) {
41: this .context = context;
42: }
43:
44: /**
45: * Adds a new client connector in the map supporting the given protocol.
46: *
47: * @param protocol
48: * The connector protocol.
49: * @return The added client.
50: */
51: public Client add(Protocol protocol) {
52: Client result = new Client(getContext(), protocol);
53: add(result);
54: return result;
55: }
56:
57: /**
58: * Returns the context.
59: *
60: * @return The context.
61: */
62: private Context getContext() {
63: return this.context;
64: }
65: }
|