RemoteConstants
Date: 2016-06-25

org.osgi.service.remoteserviceadmin

## Class RemoteConstants

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

-     public class RemoteConstants
      extends java.lang.Object

  Provide the definition of the constants used in the Remote Service Admin specification.

- - ### Field Summary

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

    - #### REMOTE_CONFIGS_SUPPORTED

          public static final java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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