Package org.eclipse.net4j.connector

# Schnittstelle IConnector

Alle Superschnittstellen:
  `org.eclipse.net4j.util.collection.Closeable`, `IChannelMultiplexer`, `org.eclipse.net4j.util.container.IContainer<IChannel>`, `ILocationAware`, `org.eclipse.net4j.util.event.INotifier`, `org.eclipse.net4j.util.properties.IPropertiesContainer`, `org.eclipse.net4j.util.security.IUserAware`

Alle bekannten Unterschnittstellen:
  `IJVMConnector`, `InternalConnector`, `IServerConnector`, `ITCPConnector`, `IWSConnector`

Alle bekannten Implementierungsklassen:
  `Connector`

public interface IConnector extends IChannelMultiplexer, org.eclipse.net4j.util.security.IUserAware, org.eclipse.net4j.util.collection.Closeable
One endpoint of a physical connection of arbitrary nature between two communicating parties. A `IConnector` encapsulates the process of establishing and closing such connections and has a `location` of `CLIENT` or `SERVER` with respect to this process. Once a connection is established either party can use its connector to open multiple `IChannel`s to asynchronously exchange `IBuffer`s.

This interface is not intended to be implemented by clients. Providers of connectors for new physical connection types have to implement org.eclipse.internal.net4j.connector.InternalConnector.

Autor:
  Eike Stepper
No Implement
  This interface is not intended to be implemented by clients.
No Extend
  This interface is not intended to be extended by clients.

## Verschachtelte Klassen - Übersicht

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.container.IContainer

`org.eclipse.net4j.util.container.IContainer.Modifiable<E>, org.eclipse.net4j.util.container.IContainer.Persistable<E>, org.eclipse.net4j.util.container.IContainer.Persistence<E>`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.ILocationAware

`ILocationAware.Location`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.event.INotifier

`org.eclipse.net4j.util.event.INotifier.INotifier2`

## Feldübersicht

Felder
Modifizierer und Typ
Feld
Beschreibung
`static final long`
`NO_TIMEOUT`

### Von Schnittstelle geerbte Felder org.eclipse.net4j.channel.IChannelMultiplexer

`DEFAULT_OPEN_CHANNEL_TIMEOUT, NO_CHANNEL_TIMEOUT`

## Methodenübersicht

Modifizierer und Typ
Methode
Beschreibung
`void`
`connect()`
Synchronous connect with infinite timeout value.
`void`
`connect(long timeout)`
Synchronous connect.
`void`
`connectAsync()`
Asynchronous connect.
`ConnectorState`
`getState()`
Returns the current state of this connector.
`String`
`getURL()`
`boolean`
`isConnected()`
Same as ``getState()` == `ConnectorState.CONNECTED``.
`void`
`waitForConnection(long timeout)`
Blocks until ``isConnected()` == true` or the given timeout expired.

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.util.collection.Closeable

`close, isClosed`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.channel.IChannelMultiplexer

`getChannels, getOpenChannelTimeout, openChannel, openChannel, openChannel, setOpenChannelTimeout`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.util.container.IContainer

`getElements, isEmpty`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.ILocationAware

`getLocation, isClient, isServer`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.util.event.INotifier

`addListener, getListeners, hasListeners, removeListener`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.util.properties.IPropertiesContainer

`properties`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.util.security.IUserAware

`getUserID`

## Felddetails

### NO_TIMEOUT

static final long NO_TIMEOUT

Seit:
  2.0
Siehe auch:
  - Konstantenfeldwerte

## Methodendetails

### getURL

String getURL()

### getState

ConnectorState getState()
Returns the current state of this connector.

### isConnected

boolean isConnected()
Same as ``getState()` == `ConnectorState.CONNECTED``.

### connect

void connect() throws ConnectorException
Synchronous connect with infinite timeout value. Same as `connect(NO_TIMEOUT)`.

Löst aus:
  `ConnectorException`
Seit:
  4.0

### connect

void connect(long timeout) throws ConnectorException
Synchronous connect. Blocks until ``isConnected()` == true` or the given timeout expired.

Parameter:
  `timeout` - The maximum number of milli seconds to block or `NO_TIMEOUT` to block indefinetely in case no connection occurs.
Löst aus:
  `ConnectorException`
Seit:
  4.0

### connectAsync

void connectAsync() throws ConnectorException
Asynchronous connect. May leave this `IConnector` in a state where ``isConnected()` == false` .

Löst aus:
  `ConnectorException`
Siehe auch:
  - `waitForConnection(long)`
  - `connect(long)`

### waitForConnection

void waitForConnection(long timeout) throws ConnectorException
Blocks until ``isConnected()` == true` or the given timeout expired.

Parameter:
  `timeout` - The maximum number of milli seconds to block or `NO_TIMEOUT` to block indefinetely in case no connection occurs.
Löst aus:
  `ConnectorException`
Seit:
  4.0