| /* |
| * $Header: /cvshome/build/org.osgi.service.io/src/org/osgi/service/io/ConnectionFactory.java,v 1.9 2006/07/12 21:22:12 hargrave Exp $ |
| * |
| * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.osgi.service.io; |
| |
| import java.io.IOException; |
| |
| import javax.microedition.io.Connection; |
| |
| /** |
| * A Connection Factory service is called by the implementation of the Connector |
| * Service to create <code>javax.microedition.io.Connection</code> objects which |
| * implement the scheme named by <code>IO_SCHEME</code>. |
| * |
| * When a <code>ConnectorService.open</code> method is called, the implementation |
| * of the Connector Service will examine the specified name for a scheme. The |
| * Connector Service will then look for a Connection Factory service which is |
| * registered with the service property <code>IO_SCHEME</code> which matches the |
| * scheme. The {@link #createConnection} method of the selected Connection |
| * Factory will then be called to create the actual <code>Connection</code> |
| * object. |
| * |
| * @version $Revision: 1.9 $ |
| */ |
| public interface ConnectionFactory { |
| /** |
| * Service property containing the scheme(s) for which this Connection |
| * Factory can create <code>Connection</code> objects. This property is of |
| * type <code>String[]</code>. |
| */ |
| public static final String IO_SCHEME = "io.scheme"; |
| |
| /** |
| * Create a new <code>Connection</code> object for the specified URI. |
| * |
| * @param name The full URI passed to the <code>ConnectorService.open</code> |
| * method |
| * @param mode The mode parameter passed to the |
| * <code>ConnectorService.open</code> method |
| * @param timeouts The timeouts parameter passed to the |
| * <code>ConnectorService.open</code> method |
| * @return A new <code>javax.microedition.io.Connection</code> object. |
| * @throws IOException If a <code>javax.microedition.io.Connection</code> |
| * object can not not be created. |
| */ |
| public Connection createConnection(String name, int mode, boolean timeouts) |
| throws IOException; |
| } |