Package org.eclipse.ecf.discovery.identity

# Interface IServiceIDFactory

All Known Implementing Classes:
  `ServiceIDFactory`

public interface IServiceIDFactory
ServiceID factory contract.

See Also:
  - `ServiceIDFactory`

## Method Summary

Modifier and Type
Method
Description
`IServiceTypeID`
`createServiceTypeID(Namespace namespace, String serviceType)`
Create an IServiceTypeID.
`IServiceTypeID`
`createServiceTypeID(Namespace namespace, String[] serviceType)`
Create an IServiceTypeID.
`IServiceTypeID`
`createServiceTypeID(Namespace namespace, String[] serviceType, String[] protocols)`
Create an IServiceTypeID.
`IServiceTypeID`
`createServiceTypeID(Namespace namespace, String[] services, String[] scopes, String[] protocols, String namingAuthority)`
Create an IServiceTypeID.
`IServiceTypeID`
`createServiceTypeID(Namespace namespace, IServiceTypeID aServiceTypeID)`
Create an IServiceTypeID.

## Method Details

### createServiceTypeID

IServiceTypeID createServiceTypeID(Namespace namespace, String serviceType)
Create an IServiceTypeID. Creates an immutable IServiceTypeID.

Parameters:
  `namespace` - the Namespace instance to create the service ID with. Must not be `null`.
  `serviceType` - The service type. Must not be `null`.
Returns:
  IServiceTypeID created. Will not be `null`.
Since:
  3.0

### createServiceTypeID

IServiceTypeID createServiceTypeID(Namespace namespace, String[] serviceType)
Create an IServiceTypeID. Creates an immutable IServiceTypeID.

Parameters:
  `namespace` - the Namespace instance to create the service ID with. Must not be `null`.
  `serviceType` - Array containing the ordered naming hierarchy from 0...n. Must not be `null`.
Returns:
  IServiceTypeID created. Will not be `null`.
Since:
  3.0

### createServiceTypeID

IServiceTypeID createServiceTypeID(Namespace namespace, String[] services, String[] scopes, String[] protocols, String namingAuthority)
Create an IServiceTypeID. Creates an immutable IServiceTypeID.

Parameters:
  `namespace` - the Namespace instance to create the service ID with. Must not be `null`.
  `services` - Array containing the ordered naming hierarchy from 0...n. Must not be `null`.
  `scopes` - Array containing all scopes or `IServiceTypeID.DEFAULT_SCOPE` for default. Must not be `null`.
  `protocols` - Array containing all protocols or `IServiceTypeID.DEFAULT_PROTO` for default. Must not be `null`.
  `namingAuthority` - the NamingAuthority or `IServiceTypeID.DEFAULT_NA` for default. Must not be `null`.
Returns:
  IServiceTypeID created. Will not be `null`.
Since:
  3.0

### createServiceTypeID

IServiceTypeID createServiceTypeID(Namespace namespace, String[] serviceType, String[] protocols)
Create an IServiceTypeID. Creates an immutable IServiceTypeID. NamingAuthority will be set to `IServiceTypeID.DEFAULT_NA`

Parameters:
  `namespace` - the Namespace instance to create the service ID with. Must not be `null`.
  `serviceType` - Array containing the ordered naming hierarchy from 0...n. Must not be `null`.
  `protocols` - Array containing the protocols. Must not be `null`.
Returns:
  IServiceTypeID created. Will not be `null`.
Since:
  3.0

### createServiceTypeID

IServiceTypeID createServiceTypeID(Namespace namespace, IServiceTypeID aServiceTypeID)
Create an IServiceTypeID. Creates an immutable IServiceTypeID from a non- `null` `IServiceTypeID` with a different `Namespace`.

Parameters:
  `namespace` - the Namespace instance to create the service type ID with. Must not be `null`.
  `aServiceTypeID` - service type id. Must not be `null`.
Returns:
  IServiceTypeID created. Will not be `null`.
Since:
  3.0