org.eclipse.ecf.osgi.services.remoteserviceadmin

## Class RemoteConstants

- java.lang.Object
- - org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteConstants

    public final class RemoteConstants
    extends Object

ECF Remote Service Admin RemoteConstants. These are constants for ECF's RSA implementation-specific meta-data. For OSGi Remote constant see `RemoteConstants` and the OSGI 4.2 Remote Service Admin specification (chap 122).

Since:
  4.1
Restriction:
  This class is not intended to be subclassed by clients.

### Field Summary

Fields
`static String` `DISCOVERY_DEFAULT_SERVICE_NAME_PREFIX` ECF service name default prefix.
`static String` `DISCOVERY_NAMING_AUTHORITY` ECF discovery naming authority property.
`static String` `DISCOVERY_PROTOCOLS` ECF discovery protocols property.
`static String` `DISCOVERY_SCOPE` ECF discovery scope property.
`static String` `DISCOVERY_SERVICE_NAME` ECF discovery service name property.
`static String` `DISCOVERY_SERVICE_PRIORITY`
`static String` `DISCOVERY_SERVICE_TTL`
`static String` `DISCOVERY_SERVICE_TYPE` ECF discovery service type for Remote Service Admin.
`static String` `DISCOVERY_SERVICE_WEIGHT`
`static String` `ENDPOINT_CONNECTTARGET_ID` Optional ECF `EndpointDescription` property (with value of type String) that defines a connect target ID.
`static String` `ENDPOINT_CONTAINER_ID_NAMESPACE` ECF `EndpointDescription` property (with value of type String) that defines the unique `Namespace` name.
`static String` `ENDPOINT_ID` ECF `EndpointDescription` property (with value of type String) that defines the ecf endpoint id (typically the container id).
`static String` `ENDPOINT_IDFILTER_IDS` Optional ECF `EndpointDescription` property (with value of type String+) that defines one or more IDs used for filtering remote service references during `RemoteServiceAdmin.importService(org.osgi.service.remoteserviceadmin.EndpointDescription)` .
`static String` `ENDPOINT_REMOTESERVICE_FILTER` Optional ECF `EndpointDescription` property (with value of type String), that defines a remote services properties filter used during `RemoteServiceAdmin.importService(org.osgi.service.remoteserviceadmin.EndpointDescription)` .
`static String` `ENDPOINT_TIMESTAMP` ECF `EndpointDescription` property (with value of type Long) that defines a service timestamp set upon initial export of the remote service.
`static String` `OSGI_CONTAINER_ID_NS`
`static String` `OSGI_ENDPOINT_MODIFIED`
`static String` `SERVICE_EXPORTED_ASYNC_INTERFACES` Service property marking the service for async proxy export.
`static String` `SERVICE_EXPORTED_CONTAINER_CONNECT_CONTEXT` Container connect context for exported remote service hosts.
`static String` `SERVICE_EXPORTED_CONTAINER_FACTORY_ARGS` Container factory arguments for exported remote service hosts.
`static String` `SERVICE_EXPORTED_CONTAINER_ID` Container ID of the target host container for remote service export.
`static String` `SERVICE_IMPORTED_ENDPOINT_ID` This property is set on the remote service proxy during `RemoteServiceAdmin.importService(org.osgi.service.remoteserviceadmin.EndpointDescription)` , before local service proxy registration.
`static String` `SERVICE_IMPORTED_ENDPOINT_SERVICE_ID` This property is set on the remote service proxy during `RemoteServiceAdmin.importService(org.osgi.service.remoteserviceadmin.EndpointDescription)` , before local service proxy registration.
`static String` `SERVICE_IMPORTED_VALUETYPE` Allows exporting ECF containers to determine the type of value associated with the `RemoteConstants.SERVICE_IMPORTED` property on the OSGi remote service consumer.

### Method Summary

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

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

### Field Detail

#### DISCOVERY_SERVICE_TYPE

    public static final String DISCOVERY_SERVICE_TYPE

ECF discovery service type for Remote Service Admin. All ECF remote services published by Remote Service Admin advertisers should have this value as one of the entries in the list returned from `IServiceTypeID.getServices()`.

See Also:
  Constant Field Values

#### DISCOVERY_SCOPE

    public static final String DISCOVERY_SCOPE

ECF discovery scope property. Value type is String+. If set, the value will be used by the `IServiceInfoFactory` during IServiceInfoFactory#createServiceInfo(org.eclipse.ecf.discovery.IDiscoveryAdvertiser, EndpointDescription) to create an `IServiceTypeID` via `IServiceIDFactory.createServiceTypeID(org.eclipse.ecf.core.identity.Namespace, String[], String[], String[], String)` . The scopes value determines the third parameter. If not explicitly set, the `IServiceTypeID.DEFAULT_SCOPE` is used.

See Also:
  Constant Field Values

#### DISCOVERY_PROTOCOLS

    public static final String DISCOVERY_PROTOCOLS

ECF discovery protocols property. Value type is String+. If set, the value will be used by the `IServiceInfoFactory` during IServiceInfoFactory#createServiceInfo(org.eclipse.ecf.discovery.IDiscoveryAdvertiser, EndpointDescription) to create an `IServiceTypeID` via `IServiceIDFactory.createServiceTypeID(org.eclipse.ecf.core.identity.Namespace, String[], String[], String[], String)` . The protocols value determines the fourth parameter. If not explicitly set, the `IServiceTypeID.DEFAULT_PROTO` is used.

See Also:
  Constant Field Values

#### DISCOVERY_NAMING_AUTHORITY

    public static final String DISCOVERY_NAMING_AUTHORITY

ECF discovery naming authority property. Value type is String. If set, the value will be used by the `IServiceInfoFactory` during IServiceInfoFactory#createServiceInfo(org.eclipse.ecf.discovery.IDiscoveryAdvertiser, EndpointDescription) to create an `IServiceTypeID` via `IServiceIDFactory.createServiceTypeID(org.eclipse.ecf.core.identity.Namespace, String[], String[], String[], String)` . The protocols value determines the fifth parameter. If not explicitly set, the `IServiceTypeID.DEFAULT_NA` is used.

See Also:
  Constant Field Values

#### DISCOVERY_SERVICE_NAME

    public static final String DISCOVERY_SERVICE_NAME

ECF discovery service name property. Value type is String. If set, the value will be used by the `IServiceInfoFactory` during IServiceInfoFactory#createServiceInfo(org.eclipse.ecf.discovery.IDiscoveryAdvertiser, EndpointDescription) to create an `IServiceInfo` with a given name. The default is a globally unique identifier. Note that if this value is explicitly set, care should be taken to not have the name conflict with other remote service names.

See Also:
  Constant Field Values

#### DISCOVERY_DEFAULT_SERVICE_NAME_PREFIX

    public static final String DISCOVERY_DEFAULT_SERVICE_NAME_PREFIX

ECF service name default prefix. If the DISCOVERY_SERVICE_NAME is not set, this prefix will be the precede the unique identifier.

See Also:
  Constant Field Values

#### DISCOVERY_SERVICE_TTL

    public static final String DISCOVERY_SERVICE_TTL

Since:
  4.4
See Also:
  Constant Field Values

#### DISCOVERY_SERVICE_PRIORITY

    public static final String DISCOVERY_SERVICE_PRIORITY

Since:
  4.4
See Also:
  Constant Field Values

#### DISCOVERY_SERVICE_WEIGHT

    public static final String DISCOVERY_SERVICE_WEIGHT

Since:
  4.4
See Also:
  Constant Field Values

#### ENDPOINT_CONTAINER_ID_NAMESPACE

    public static final String ENDPOINT_CONTAINER_ID_NAMESPACE

ECF `EndpointDescription` property (with value of type String) that defines the unique `Namespace` name. If present in the `EndpointDescription`, the value will be used to create the containerID for accessing a remote service. The Namespace name is optional because typically the ID protocol specifier (e.g. 'ecftcp' in ID with name: 'ecftcp://localhost:3282/server') can be used to unambiguously determine the appropriate `Namespace` used to create the container ID for remote service import.

See Also:
  Constant Field Values

#### ENDPOINT_ID

    public static final String ENDPOINT_ID

ECF `EndpointDescription` property (with value of type String) that defines the ecf endpoint id (typically the container id).

Since:
  4.0
See Also:
  Constant Field Values

#### ENDPOINT_TIMESTAMP

    public static final String ENDPOINT_TIMESTAMP

ECF `EndpointDescription` property (with value of type Long) that defines a service timestamp set upon initial export of the remote service.

Since:
  4.0
See Also:
  Constant Field Values

#### ENDPOINT_CONNECTTARGET_ID

    public static final String ENDPOINT_CONNECTTARGET_ID

Optional ECF `EndpointDescription` property (with value of type String) that defines a connect target ID. If set/non-`null`, this property can be used by remote service consumers to connect to a specific container, and access a remote service exposed by some other member of the group.

See Also:
  Constant Field Values

#### ENDPOINT_IDFILTER_IDS

    public static final String ENDPOINT_IDFILTER_IDS

Optional ECF `EndpointDescription` property (with value of type String+) that defines one or more IDs used for filtering remote service references during `RemoteServiceAdmin.importService(org.osgi.service.remoteserviceadmin.EndpointDescription)` .

See Also:
  Constant Field Values

#### ENDPOINT_REMOTESERVICE_FILTER

    public static final String ENDPOINT_REMOTESERVICE_FILTER

Optional ECF `EndpointDescription` property (with value of type String), that defines a remote services properties filter used during `RemoteServiceAdmin.importService(org.osgi.service.remoteserviceadmin.EndpointDescription)` .

See Also:
  Constant Field Values

#### SERVICE_EXPORTED_CONTAINER_FACTORY_ARGS

    public static final String SERVICE_EXPORTED_CONTAINER_FACTORY_ARGS

Container factory arguments for exported remote service hosts. If specified as a service property upon remote service registration, this property allows ECF containers to be initialized and configured upon creation during the call to `HostContainerSelector.selectHostContainers(org.osgi.framework.ServiceReference, Map, String[], String[], String[])` . The type of the value may be String, ID, or Object[]. The IContainerFactory.createContainer method is then selected based upon the type of the value...i.e. `IContainerFactory.createContainer(org.eclipse.ecf.core.ContainerTypeDescription, String)` , `IContainerFactory.createContainer(org.eclipse.ecf.core.identity.ID)` , or `IContainerFactory.createContainer(String, Object[])`, and the value is passed in for container creation.

See Also:
  Constant Field Values

#### SERVICE_EXPORTED_CONTAINER_CONNECT_CONTEXT

    public static final String SERVICE_EXPORTED_CONTAINER_CONNECT_CONTEXT

Container connect context for exported remote service hosts. If specified as a service property for remote service export, this property allows ECF containers to have given a connect context for authentication upon container connection by `HostContainerSelector.selectHostContainers(org.osgi.framework.ServiceReference, Map, String[], String[], String[])` . The type of the value is `IConnectContext`.

See Also:
  Constant Field Values

#### SERVICE_EXPORTED_CONTAINER_ID

    public static final String SERVICE_EXPORTED_CONTAINER_ID

Container ID of the target host container for remote service export. If specified as a service property for remote service export, this property is used to match against the set of available containers in `HostContainerSelector.selectHostContainers(org.osgi.framework.ServiceReference, Map, String[], String[], String[])` . The type of the value is ID.

See Also:
  Constant Field Values

#### SERVICE_EXPORTED_ASYNC_INTERFACES

    public static final String SERVICE_EXPORTED_ASYNC_INTERFACES

Service property marking the service for async proxy export. It defines the async interfaces under which this service will be exported on the remote proxy. This list must be a subset of the types service was exported (i.e. subset of interfaces specified by # `RemoteConstants.SERVICE_EXPORTED_INTERFACES` . The single value of an asterisk ("*", \u002A) indicates all the interface types under which the service was exported.

The interfaces in the String[] can either be

1. The same fully qualified name as an interface in the # `RemoteConstants.SERVICE_EXPORTED_INTERFACES` property
2. The fully qualified name of an interface that follows the asynchronous proxy conventions to match with one of the existing exported types.

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`.

Since:
  4.0
See Also:
  Constant Field Values

#### SERVICE_IMPORTED_VALUETYPE

    public static final String SERVICE_IMPORTED_VALUETYPE

Allows exporting ECF containers to determine the type of value associated with the `RemoteConstants.SERVICE_IMPORTED` property on the OSGi remote service consumer. For ECF, the default value type is `IRemoteService`. If set to some other value (e.g. `Boolean` by the exporting host container, then consumers can use the SERVICE_IMPORTED value appropriately.

See Also:
  Constant Field Values

#### SERVICE_IMPORTED_ENDPOINT_ID

    public static final String SERVICE_IMPORTED_ENDPOINT_ID

This property is set on the remote service proxy during `RemoteServiceAdmin.importService(org.osgi.service.remoteserviceadmin.EndpointDescription)` , before local service proxy registration. It's String value is set to the value returned from `EndpointDescription.getId()`. It allows those accessing the remote service proxy to get information about the endpoint id.

See Also:
  Constant Field Values

#### SERVICE_IMPORTED_ENDPOINT_SERVICE_ID

    public static final String SERVICE_IMPORTED_ENDPOINT_SERVICE_ID

This property is set on the remote service proxy during `RemoteServiceAdmin.importService(org.osgi.service.remoteserviceadmin.EndpointDescription)` , before local service proxy registration. It's Long value is set to the value returned from `EndpointDescription.getServiceId()` . It allows those accessing the remote service proxy to get information about the endpoint remote service id.

See Also:
  Constant Field Values

#### OSGI_ENDPOINT_MODIFIED

    public static final String OSGI_ENDPOINT_MODIFIED

Since:
  4.1
See Also:
  Constant Field Values

#### OSGI_CONTAINER_ID_NS

    public static final String OSGI_CONTAINER_ID_NS

Since:
  4.1
See Also:
  Constant Field Values