ConnectorService
Date: 2016-06-25

org.osgi.service.io

## Interface ConnectorService

-     public interface ConnectorService

  The Connector Service should be called to create and open `javax.microedition.io.Connection` objects. When an `open*` 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 `IO_SCHEME` which matches the scheme. The `createConnection` method of the selected Connection Factory will then be called to create the actual `Connection` object.

  If more than one Connection Factory service is registered for a particular scheme, the service with the highest ranking (as specified in its `service.ranking` property) is called. If there is a tie in ranking, the service with the lowest service ID (as specified in its `service.id` property), that is the service that was registered first, is called. This is the same algorithm used by `BundleContext.getServiceReference`.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `READ` Read access mode.
    `static int` | `READ_WRITE` Read/Write access mode.
    `static int` | `WRITE` Write access mode.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `javax.microedition.io.Connection` | `open(java.lang.String name)` Create and open a `Connection` object for the specified name.
    `javax.microedition.io.Connection` | `open(java.lang.String name, int mode)` Create and open a `Connection` object for the specified name and access mode.
    `javax.microedition.io.Connection` | `open(java.lang.String name, int mode, boolean timeouts)` Create and open a `Connection` object for the specified name, access mode and timeouts.
    `java.io.DataInputStream` | `openDataInputStream(java.lang.String name)` Create and open a `DataInputStream` object for the specified name.
    `java.io.DataOutputStream` | `openDataOutputStream(java.lang.String name)` Create and open a `DataOutputStream` object for the specified name.
    `java.io.InputStream` | `openInputStream(java.lang.String name)` Create and open an `InputStream` object for the specified name.
    `java.io.OutputStream` | `openOutputStream(java.lang.String name)` Create and open an `OutputStream` object for the specified name.

- - ### Field Detail

    - #### READ

          static final int READ

      Read access mode.
      See Also:
        "javax.microedition.io.Connector.READ", Constant Field Values

    - #### WRITE

          static final int WRITE

      Write access mode.
      See Also:
        "javax.microedition.io.Connector.WRITE", Constant Field Values

    - #### READ_WRITE

          static final int READ_WRITE

      Read/Write access mode.
      See Also:
        "javax.microedition.io.Connector.READ_WRITE", Constant Field Values

  - ### Method Detail

    - #### open

          javax.microedition.io.Connection open(java.lang.String name)
                                                throws java.io.IOException

      Create and open a `Connection` object for the specified name.
      Parameters:
        `name` - The URI for the connection.
      Returns:
        A new `javax.microedition.io.Connection` object.
      Throws:
        `java.lang.IllegalArgumentException` - If a parameter is invalid.
        `javax.microedition.io.ConnectionNotFoundException` - If the connection cannot be found.
        `java.io.IOException` - If some other kind of I/O error occurs.
      See Also:
        "javax.microedition.io.Connector.open(String name)"

    - #### open

          javax.microedition.io.Connection open(java.lang.String name,
                                              int mode)
                                                throws java.io.IOException

      Create and open a `Connection` object for the specified name and access mode.
      Parameters:
        `name` - The URI for the connection.
        `mode` - The access mode.
      Returns:
        A new `javax.microedition.io.Connection` object.
      Throws:
        `java.lang.IllegalArgumentException` - If a parameter is invalid.
        `javax.microedition.io.ConnectionNotFoundException` - If the connection cannot be found.
        `java.io.IOException` - If some other kind of I/O error occurs.
      See Also:
        "javax.microedition.io.Connector.open(String name, int mode)"

    - #### open

          javax.microedition.io.Connection open(java.lang.String name,
                                              int mode,
                                              boolean timeouts)
                                                throws java.io.IOException

      Create and open a `Connection` object for the specified name, access mode and timeouts.
      Parameters:
        `name` - The URI for the connection.
        `mode` - The access mode.
        `timeouts` - A flag to indicate that the caller wants timeout exceptions.
      Returns:
        A new `javax.microedition.io.Connection` object.
      Throws:
        `java.lang.IllegalArgumentException` - If a parameter is invalid.
        `javax.microedition.io.ConnectionNotFoundException` - If the connection cannot be found.
        `java.io.IOException` - If some other kind of I/O error occurs.
      See Also:
        "javax.microedition.io.Connector.open(String name, int mode, boolean timeouts)"

    - #### openInputStream

          java.io.InputStream openInputStream(java.lang.String name)
                                              throws java.io.IOException

      Create and open an `InputStream` object for the specified name.
      Parameters:
        `name` - The URI for the connection.
      Returns:
        An `InputStream` object.
      Throws:
        `java.lang.IllegalArgumentException` - If a parameter is invalid.
        `javax.microedition.io.ConnectionNotFoundException` - If the connection cannot be found.
        `java.io.IOException` - If some other kind of I/O error occurs.
      See Also:
        "javax.microedition.io.Connector.openInputStream(String name)"

    - #### openDataInputStream

          java.io.DataInputStream openDataInputStream(java.lang.String name)
                                                      throws java.io.IOException

      Create and open a `DataInputStream` object for the specified name.
      Parameters:
        `name` - The URI for the connection.
      Returns:
        A `DataInputStream` object.
      Throws:
        `java.lang.IllegalArgumentException` - If a parameter is invalid.
        `javax.microedition.io.ConnectionNotFoundException` - If the connection cannot be found.
        `java.io.IOException` - If some other kind of I/O error occurs.
      See Also:
        "javax.microedition.io.Connector.openDataInputStream(String name)"

    - #### openOutputStream

          java.io.OutputStream openOutputStream(java.lang.String name)
                                                throws java.io.IOException

      Create and open an `OutputStream` object for the specified name.
      Parameters:
        `name` - The URI for the connection.
      Returns:
        An `OutputStream` object.
      Throws:
        `java.lang.IllegalArgumentException` - If a parameter is invalid.
        `javax.microedition.io.ConnectionNotFoundException` - If the connection cannot be found.
        `java.io.IOException` - If some other kind of I/O error occurs.
      See Also:
        "javax.microedition.io.Connector.openOutputStream(String name)"

    - #### openDataOutputStream

          java.io.DataOutputStream openDataOutputStream(java.lang.String name)
                                                        throws java.io.IOException

      Create and open a `DataOutputStream` object for the specified name.
      Parameters:
        `name` - The URI for the connection.
      Returns:
        A `DataOutputStream` object.
      Throws:
        `java.lang.IllegalArgumentException` - If a parameter is invalid.
        `javax.microedition.io.ConnectionNotFoundException` - If the connection cannot be found.
        `java.io.IOException` - If some other kind of I/O error occurs.
      See Also:
        "javax.microedition.io.Connector.openDataOutputStream(String name)"