org.eclipse.ecf.remoteservice

## Interface Constants

    public interface Constants

Remote service API constants.

Since:
  8.9
Restriction:
  This interface is not intended to be implemented 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 org.eclipse.ecf.core.identity.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` `OBJECTCLASS` Remote service property identifying all (named "ecf.robjectClass") of the class names under which a service was registered in the remote services API (of type `java.lang.String[]`).
`static String` `OSGI_ASYNC_INTENT`
`static String` `OSGI_BASIC_INTENT`
`static String` `OSGI_BASIC_TIMEOUT_INTENT`
`static String` `OSGI_CONFIDENTIAL_INTENT`
`static String` `OSGI_CONTAINER_ID_NS`
`static String` `OSGI_ENDPOINT_MODIFIED`
`static String` `OSGI_PRIVATE_INTENT`
`static String` `OSGI_SERVICE_INTENTS`
`static String` `SERVICE_ASYNC_RSPROXY_CLASS_` This constant allows the fully qualified async remote service proxy to be specified as a service property.
`static String` `SERVICE_CONNECT_ID` Deprecated.
`static String` `SERVICE_CONNECT_ID_NAMESPACE` Deprecated.
`static String` `SERVICE_CONTAINER_FACTORY_NAME` Deprecated.
`static String` `SERVICE_CONTAINER_ID` Remote service property that defines the remote service container ID.
`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_FILTER_PROPERTY` Deprecated.
`static String` `SERVICE_ID` Remote service property (named "ecf.rsvc.id") identifying a service's remote registration number (of type `java.lang.Long`).
`static String` `SERVICE_IDFILTER_ID` Deprecated.
`static String` `SERVICE_IDFILTER_NAMESPACE` Deprecated.
`static String` `SERVICE_IMPORTED_VALUETYPE` Allows exporting ECF containers to determine the type of value associated with the org.osgi.service.remoteserviceadmin.RemoteConstants#SERVICE_IMPORTED property on the OSGi remote service consumer.
`static String` `SERVICE_OBJECTCLASS` Deprecated.
`static String` `SERVICE_PREVENT_ASYNCPROXY`
`static String` `SERVICE_PREVENT_RSPROXY` Remote service property used to prevent the automatic addition of the IRemoteServiceProxy interface to the proxy returned from IRemoteService.getProxy.
`static String` `SERVICE_RANKING` Service property (named "ecf.rsvc.ranking") identifying a service's ranking number (of type `java.lang.Integer`).
`static String` `SERVICE_REGISTER_PROXY` Remote service property used on service registration to indicate that a service proxy should be created rather than using the given service object (which may be null when this service property is set).
`static String` `SERVICE_REGISTRATION_TARGETS` Service property (named "remoteservice.description") identifying a a registration's target for receiving the service.

### Field Detail

#### OBJECTCLASS

    static final String OBJECTCLASS

Remote service property identifying all (named "ecf.robjectClass") of the class names under which a service was registered in the remote services API (of type `java.lang.String[]`).

This property is set by the remote services API when a service is registered.

See Also:
  Constant Field Values

#### SERVICE_ID

    static final String SERVICE_ID

Remote service property (named "ecf.rsvc.id") identifying a service's remote registration number (of type `java.lang.Long`).

The value of this property is assigned by the remote services API when a service is registered. The remote services API assigns a unique value that is larger than all previously assigned values since the remote services API was started. These values are NOT persistent across restarts of the remote services API.

See Also:
  Constant Field Values

#### SERVICE_RANKING

    static final String SERVICE_RANKING

Service property (named "ecf.rsvc.ranking") identifying a service's ranking number (of type `java.lang.Integer`).

This property may be supplied in the `properties Dictionary` object passed to the `IRemoteServiceContainerAdapter.registerRemoteService` method.

The service ranking is used by the remote services API to determine the default service to be returned from a call to the `IRemoteServiceContainerAdapter.getRemoteServiceReferences(org.eclipse.ecf.core.identity.ID[], String, String)` method: If more than one service implements the specified class, the `RemoteServiceReference` object with the highest ranking is returned.

The default ranking is zero (0). A service with a ranking of `Integer.MAX_VALUE` is very likely to be returned as the default service, whereas a service with a ranking of `Integer.MIN_VALUE` is very unlikely to be returned.

If the supplied property value is not of type `java.lang.Integer`, it is deemed to have a ranking value of zero.

See Also:
  Constant Field Values

#### SERVICE_REGISTRATION_TARGETS

    static final String SERVICE_REGISTRATION_TARGETS

Service property (named "remoteservice.description") identifying a a registration's target for receiving the service. The value of the property MUST be either a non-`null` instance of org.eclipse.ecf.core.identity.ID OR an ID[].

This property may be supplied in the properties `Dictionary` object passed to the `IRemoteServiceContainerAdapter.registerRemoteService` method.

See Also:
  Constant Field Values

#### SERVICE_CONTAINER_ID

    static final String SERVICE_CONTAINER_ID

Remote service property that defines the remote service container ID.

This property may be supplied in the properties `Dictionary` object passed to the `BundleContext.registerService` method.

Since:
  3.0
See Also:
  Constant Field Values

#### SERVICE_REGISTER_PROXY

    static final String SERVICE_REGISTER_PROXY

Remote service property used on service registration to indicate that a service proxy should be created rather than using the given service object (which may be null when this service property is set).

Since:
  4.0
See Also:
  Constant Field Values

#### SERVICE_PREVENT_RSPROXY

    static final String SERVICE_PREVENT_RSPROXY

Remote service property used to prevent the automatic addition of the IRemoteServiceProxy interface to the proxy returned from IRemoteService.getProxy. If this service property is set (to any non-null Object value), it will prevent the the IRemoteServiceProxy from being added to the set of interfaces exposed by the proxy returned from IRemoteService.getProxy.

Since:
  6.0
See Also:
  Constant Field Values

#### SERVICE_ASYNC_RSPROXY_CLASS_

    static final String SERVICE_ASYNC_RSPROXY_CLASS_

This constant allows the fully qualified async remote service proxy to be specified as a service property. For example, if the remote service interface is as so:

     package foo;

     public interface Bar {
        String doStuff();
     }

then by default, the async remote service proxy interface class would be expected to be the following:

     package foo;
     import org.eclipse.ecf.remoteservice.IAsyncRemoteServiceProxy;
     import org.eclipse.equinox.concurrent.future.IFuture;

     public interface BarAsync extends IAsyncRemoteServiceProxy {
        IFuture doStuffAsync();
     }

This property allows a new class to be associated with the original service interface, so that rather than looking for the foo.BarAsync class when a proxy is created, the class specified by the value of the property will be used instead. For example, assume the existance of another async remote service interface:

     package gogo;
     import org.eclipse.ecf.remoteservice.IAsyncRemoteServiceProxy;
     import org.eclipse.equinox.concurrent.future.IFuture;

     public interface MyBar extends IAsyncRemoteServiceProxy {
        IFuture doStuffAsync();
     }

Further assume that when the remote service was registered, that a service property was specified:

     serviceProps.put("ecf.rsvc.async.proxy_<fq classname>","<fq substitute>");

     serviceProps.put("ecf.rsvc.async.proxy_foo.Bar","gogo.MyBar");

Then, when a Bar proxy is created, if the 'gogo.MyBar' interface is available on the client, an async remote service proxy will be added to the proxy, and client will be able to asynchronously call MyBar.doStuffAsync() on the proxy.

See Also:
  Constant Field Values

#### SERVICE_PREVENT_ASYNCPROXY

    static final String SERVICE_PREVENT_ASYNCPROXY

Since:
  8.3
See Also:
  Constant Field Values

#### SERVICE_CONNECT_ID

    static final String SERVICE_CONNECT_ID

Deprecated.

See Also:
  Constant Field Values

#### SERVICE_CONNECT_ID_NAMESPACE

    static final String SERVICE_CONNECT_ID_NAMESPACE

Deprecated.

See Also:
  Constant Field Values

#### SERVICE_IDFILTER_NAMESPACE

    static final String SERVICE_IDFILTER_NAMESPACE

Deprecated.

See Also:
  Constant Field Values

#### SERVICE_IDFILTER_ID

    static final String SERVICE_IDFILTER_ID

Deprecated.

See Also:
  Constant Field Values

#### SERVICE_OBJECTCLASS

    static final String SERVICE_OBJECTCLASS

Deprecated.

See Also:
  Constant Field Values

#### SERVICE_FILTER_PROPERTY

    static final String SERVICE_FILTER_PROPERTY

Deprecated.

See Also:
  Constant Field Values

#### SERVICE_CONTAINER_FACTORY_NAME

    static final String SERVICE_CONTAINER_FACTORY_NAME

Deprecated.

See Also:
  Constant Field Values

#### DISCOVERY_SERVICE_TYPE

    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().

Since:
  8.9
See Also:
  Constant Field Values

#### DISCOVERY_SCOPE

    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.

Since:
  8.9
See Also:
  Constant Field Values

#### DISCOVERY_PROTOCOLS

    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.

Since:
  8.9
See Also:
  Constant Field Values

#### DISCOVERY_NAMING_AUTHORITY

    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.

Since:
  8.9
See Also:
  Constant Field Values

#### DISCOVERY_SERVICE_NAME

    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.

Since:
  8.9
See Also:
  Constant Field Values

#### DISCOVERY_SERVICE_TTL

    static final String DISCOVERY_SERVICE_TTL

Since:
  8.10
See Also:
  Constant Field Values

#### DISCOVERY_SERVICE_PRIORITY

    static final String DISCOVERY_SERVICE_PRIORITY

Since:
  8.10
See Also:
  Constant Field Values

#### DISCOVERY_SERVICE_WEIGHT

    static final String DISCOVERY_SERVICE_WEIGHT

Since:
  8.10
See Also:
  Constant Field Values

#### DISCOVERY_DEFAULT_SERVICE_NAME_PREFIX

    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.

Since:
  8.9
See Also:
  Constant Field Values

#### ENDPOINT_CONTAINER_ID_NAMESPACE

    static final String ENDPOINT_CONTAINER_ID_NAMESPACE

ECF EndpointDescription property (with value of type String) that defines the unique org.eclipse.ecf.core.identity.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 org.eclipse.ecf.core.identity.Namespace used to create the container ID for remote service import.

Since:
  8.9
See Also:
  Constant Field Values

#### ENDPOINT_ID

    static final String ENDPOINT_ID

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

Since:
  8.9
See Also:
  Constant Field Values

#### ENDPOINT_TIMESTAMP

    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:
  8.9
See Also:
  Constant Field Values

#### ENDPOINT_CONNECTTARGET_ID

    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.

Since:
  8.9
See Also:
  Constant Field Values

#### ENDPOINT_IDFILTER_IDS

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

Since:
  8.9
See Also:
  Constant Field Values

#### ENDPOINT_REMOTESERVICE_FILTER

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

Since:
  8.9
See Also:
  Constant Field Values

#### SERVICE_EXPORTED_CONTAINER_FACTORY_ARGS

    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.

Since:
  8.9
See Also:
  Constant Field Values

#### SERVICE_EXPORTED_CONTAINER_CONNECT_CONTEXT

    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.

Since:
  8.9
See Also:
  Constant Field Values

#### SERVICE_EXPORTED_CONTAINER_ID

    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.

Since:
  8.9
See Also:
  Constant Field Values

#### SERVICE_EXPORTED_ASYNC_INTERFACES

    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 # org.osgi.service.remoteserviceadmin.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 # org.osgi.service.remoteserviceadmin.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:
  8.9
See Also:
  Constant Field Values

#### SERVICE_IMPORTED_VALUETYPE

    static final String SERVICE_IMPORTED_VALUETYPE

Allows exporting ECF containers to determine the type of value associated with the org.osgi.service.remoteserviceadmin.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.

Since:
  8.9
See Also:
  Constant Field Values

#### OSGI_ENDPOINT_MODIFIED

    static final String OSGI_ENDPOINT_MODIFIED

Since:
  8.9
See Also:
  Constant Field Values

#### OSGI_CONTAINER_ID_NS

    static final String OSGI_CONTAINER_ID_NS

Since:
  8.9
See Also:
  Constant Field Values

#### OSGI_BASIC_INTENT

    static final String OSGI_BASIC_INTENT

Since:
  8.13
See Also:
  Constant Field Values

#### OSGI_BASIC_TIMEOUT_INTENT

    static final String OSGI_BASIC_TIMEOUT_INTENT

Since:
  8.13
See Also:
  Constant Field Values

#### OSGI_ASYNC_INTENT

    static final String OSGI_ASYNC_INTENT

Since:
  8.13
See Also:
  Constant Field Values

#### OSGI_CONFIDENTIAL_INTENT

    static final String OSGI_CONFIDENTIAL_INTENT

Since:
  8.13
See Also:
  Constant Field Values

#### OSGI_PRIVATE_INTENT

    static final String OSGI_PRIVATE_INTENT

Since:
  8.13
See Also:
  Constant Field Values

#### OSGI_SERVICE_INTENTS

    static final String OSGI_SERVICE_INTENTS

Since:
  8.13
See Also:
  Constant Field Values