Package org.osgi.service.remoteserviceadmin

# Class RemoteConstants

java.lang.Object
org.osgi.service.remoteserviceadmin.RemoteConstants

public class RemoteConstants extends Object
Provide the definition of the constants used in the Remote Service Admin specification.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`ENDPOINT_FRAMEWORK_UUID`
Endpoint property identifying the universally unique id of the exporting framework.
`static final String`
`ENDPOINT_ID`
Endpoint property identifying the id for this endpoint.
`static final String`
`ENDPOINT_PACKAGE_VERSION_`
Prefix for an endpoint property identifying the interface Java package version for an interface.
`static final String`
`ENDPOINT_SERVICE_ID`
Endpoint property identifying the service id of the exported service.
`static final String`
`REMOTE_CONFIGS_SUPPORTED`
Service property identifying the configuration types supported by a distribution provider.
`static final String`
`REMOTE_INTENTS_SUPPORTED`
Service property identifying the intents supported by a distribution provider.
`static final String`
`SERVICE_EXPORTED_CONFIGS`
Service property identifying the configuration types that should be used to export the service.
`static final String`
`SERVICE_EXPORTED_INTENTS`
Service property identifying the intents that the distribution provider must implement to distribute the service.
`static final String`
`SERVICE_EXPORTED_INTENTS_EXTRA`
Service property identifying the extra intents that the distribution provider must implement to distribute the service.
`static final String`
`SERVICE_EXPORTED_INTERFACES`
Service property marking the service for export.
`static final String`
`SERVICE_IMPORTED`
Service property identifying the service as imported.
`static final String`
`SERVICE_IMPORTED_CONFIGS`
Service property identifying the configuration types used to import the service.
`static final String`
`SERVICE_INTENTS`
Service property identifying the intents that this service implement.

## Method Summary

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### REMOTE_CONFIGS_SUPPORTED

public static final String REMOTE_CONFIGS_SUPPORTED
Service property identifying the configuration types supported by a distribution provider. Registered by the distribution provider on one of its services to indicate the supported configuration types.

The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

See Also:
  - "Remote Services Specification"
  - Constant Field Values

### REMOTE_INTENTS_SUPPORTED

public static final String REMOTE_INTENTS_SUPPORTED
Service property identifying the intents supported by a distribution provider. Registered by the distribution provider on one of its services to indicate the vocabulary of implemented intents.

The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

See Also:
  - "Remote Services Specification"
  - Constant Field Values

### SERVICE_EXPORTED_CONFIGS

public static final String SERVICE_EXPORTED_CONFIGS
Service property identifying the configuration types that should be used to export the service. Each configuration type represents the configuration parameters for an endpoint. A distribution provider should create an endpoint for each configuration type that it supports.

This property may be supplied in the `properties` `Dictionary` object passed to the `BundleContext.registerService` method. The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

See Also:
  - "Remote Services Specification"
  - Constant Field Values

### SERVICE_EXPORTED_INTENTS

public static final String SERVICE_EXPORTED_INTENTS
Service property identifying the intents that the distribution provider must implement to distribute the service. Intents listed in this property are reserved for intents that are critical for the code to function correctly, for example, ordering of messages. These intents should not be configurable.

This property may be supplied in the `properties` `Dictionary` object passed to the `BundleContext.registerService` method. The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

See Also:
  - "Remote Services Specification"
  - Constant Field Values

### SERVICE_EXPORTED_INTENTS_EXTRA

public static final String SERVICE_EXPORTED_INTENTS_EXTRA
Service property identifying the extra intents that the distribution provider must implement to distribute the service. This property is merged with the `service.exported.intents` property before the distribution provider interprets the listed intents; it has therefore the same semantics but the property should be configurable so the administrator can choose the intents based on the topology. Bundles should therefore make this property configurable, for example through the Configuration Admin service.

This property may be supplied in the `properties` `Dictionary` object passed to the `BundleContext.registerService` method. The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

See Also:
  - "Remote Services Specification"
  - Constant Field Values

### SERVICE_EXPORTED_INTERFACES

public static final String SERVICE_EXPORTED_INTERFACES
Service property marking the service for export. It defines the interfaces under which this service can be exported. This list must be a subset of the types under which the service was registered. The single value of an asterisk (`'*'` \u002A) indicates all the interface types under which the service was registered excluding the non-interface types. It is strongly recommended to only export interface types and not concrete classes due to the complexity of creating proxies for some type of concrete classes.

This property may be supplied in the `properties` `Dictionary` object passed to the `BundleContext.registerService` method. The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

See Also:
  - "Remote Services Specification"
  - Constant Field Values

### SERVICE_IMPORTED

public static final String SERVICE_IMPORTED
Service property identifying the service as imported. This service property must be set by a distribution provider to any value when it registers the endpoint proxy as an imported service. A bundle can use this property to filter out imported services.

The value of this property may be of any type.

See Also:
  - "Remote Services Specification"
  - Constant Field Values

### SERVICE_IMPORTED_CONFIGS

public static final String SERVICE_IMPORTED_CONFIGS
Service property identifying the configuration types used to import the service. Any associated properties for this configuration types must be properly mapped to the importing system. For example, a URL in these properties must point to a valid resource when used in the importing framework. If multiple configuration types are listed in this property, then they must be synonyms for exactly the same remote endpoint that is used to export this service.

The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

See Also:
  - "Remote Services Specification"
  - `SERVICE_EXPORTED_CONFIGS`
  - Constant Field Values

### SERVICE_INTENTS

public static final String SERVICE_INTENTS
Service property identifying the intents that this service implement. This property has a dual purpose:

- A bundle can use this service property to notify the distribution provider that these intents are already implemented by the exported service object.
- A distribution provider must use this property to convey the combined intents of: The exporting service, and the intents that the exporting distribution provider adds, and the intents that the importing distribution provider adds.

To export a service, a distribution provider must expand any qualified intents. Both the exporting and importing distribution providers must recognize all intents before a service can be distributed. The value of this property must be of type `String`, `String[]`, or `Collection` of `String`.

See Also:
  - "Remote Services Specification"
  - Constant Field Values

### ENDPOINT_ID

public static final String ENDPOINT_ID
Endpoint property identifying the id for this endpoint. This service property must always be set.

The value of this property must be of type `String`.

See Also:
  - Constant Field Values

### ENDPOINT_SERVICE_ID

public static final String ENDPOINT_SERVICE_ID
Endpoint property identifying the service id of the exported service. Can be absent or 0 if the corresponding endpoint is not for an OSGi service.

The value of this property must be of type `Long`.

See Also:
  - Constant Field Values

### ENDPOINT_FRAMEWORK_UUID

public static final String ENDPOINT_FRAMEWORK_UUID
Endpoint property identifying the universally unique id of the exporting framework. Can be absent if the corresponding endpoint is not for an OSGi service.

The value of this property must be of type `String`.

See Also:
  - Constant Field Values

### ENDPOINT_PACKAGE_VERSION_

public static final String ENDPOINT_PACKAGE_VERSION_
Prefix for an endpoint property identifying the interface Java package version for an interface. For example, the property `endpoint.package.version.com.acme=1.3` describes the version of the package for the `com.acme.Foo` interface. This endpoint property for an interface package does not have to be set. If not set, the value must be assumed to be 0.

Since endpoint properties are stored in a case insensitive map, case variants of a package name are folded together.

The value of properties having this prefix must be of type `String`.

See Also:
  - Constant Field Values