org.eclipse.ecf.discovery.identity

## Interface IServiceIDFactory

All Known Implementing Classes:
  ServiceIDFactory

    public interface IServiceIDFactory

ServiceID factory contract.

See Also:
  `ServiceIDFactory`

### Method Summary

All Methods Instance Methods Abstract Methods
`IServiceTypeID` `createServiceTypeID(Namespace namespace, IServiceTypeID aServiceTypeID)` Create an IServiceTypeID.
`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.

### Method Detail

#### 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