Interface Constants


public interface Constants
Remote service API constants.
Since:
8.9
Restriction:
This interface is not intended to be implemented by clients.
  • Field Details

    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • SERVICE_PREVENT_ASYNCPROXY

      static final String SERVICE_PREVENT_ASYNCPROXY
      Since:
      8.3
      See Also:
    • SERVICE_CONNECT_ID

      static final String SERVICE_CONNECT_ID
      Deprecated.
      See Also:
    • SERVICE_CONNECT_ID_NAMESPACE

      static final String SERVICE_CONNECT_ID_NAMESPACE
      Deprecated.
      See Also:
    • SERVICE_IDFILTER_NAMESPACE

      static final String SERVICE_IDFILTER_NAMESPACE
      Deprecated.
      See Also:
    • SERVICE_IDFILTER_ID

      static final String SERVICE_IDFILTER_ID
      Deprecated.
      See Also:
    • SERVICE_OBJECTCLASS

      static final String SERVICE_OBJECTCLASS
      Deprecated.
      See Also:
    • SERVICE_FILTER_PROPERTY

      static final String SERVICE_FILTER_PROPERTY
      Deprecated.
      See Also:
    • SERVICE_CONTAINER_FACTORY_NAME

      static final String SERVICE_CONTAINER_FACTORY_NAME
      Deprecated.
      See Also:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • DISCOVERY_SERVICE_TTL

      static final String DISCOVERY_SERVICE_TTL
      Since:
      8.10
      See Also:
    • DISCOVERY_SERVICE_PRIORITY

      static final String DISCOVERY_SERVICE_PRIORITY
      Since:
      8.10
      See Also:
    • DISCOVERY_SERVICE_WEIGHT

      static final String DISCOVERY_SERVICE_WEIGHT
      Since:
      8.10
      See Also:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • OSGI_ENDPOINT_MODIFIED

      static final String OSGI_ENDPOINT_MODIFIED
      Since:
      8.9
      See Also:
    • OSGI_CONTAINER_ID_NS

      static final String OSGI_CONTAINER_ID_NS
      Since:
      8.9
      See Also:
    • OSGI_BASIC_INTENT

      static final String OSGI_BASIC_INTENT
      Since:
      8.13
      See Also:
    • OSGI_BASIC_TIMEOUT_INTENT

      static final String OSGI_BASIC_TIMEOUT_INTENT
      Since:
      8.13
      See Also:
    • OSGI_ASYNC_INTENT

      static final String OSGI_ASYNC_INTENT
      Since:
      8.13
      See Also:
    • OSGI_CONFIDENTIAL_INTENT

      static final String OSGI_CONFIDENTIAL_INTENT
      Since:
      8.13
      See Also:
    • OSGI_PRIVATE_INTENT

      static final String OSGI_PRIVATE_INTENT
      Since:
      8.13
      See Also:
    • OSGI_SERVICE_INTENTS

      static final String OSGI_SERVICE_INTENTS
      Since:
      8.13
      See Also: