WireConstants
Date: 2016-06-25

org.osgi.service.wireadmin

## Interface WireConstants

-     public interface WireConstants

  Defines standard names for `Wire` properties, wire filter attributes, Consumer and Producer service properties.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `WIREADMIN_CONSUMER_COMPOSITE` A service registration property for a Consumer service that is composite.
    `static java.lang.String` | `WIREADMIN_CONSUMER_FLAVORS` Service Registration property (named `wireadmin.consumer.flavors`) specifying the list of data types understood by this Consumer service.
    `static java.lang.String` | `WIREADMIN_CONSUMER_PID` `Wire` property key (named `wireadmin.consumer.pid`) specifying the `service.pid` of the associated Consumer service.
    `static java.lang.String` | `WIREADMIN_CONSUMER_SCOPE` Service registration property key (named `wireadmin.consumer.scope` ) specifying a list of names that may be used to define the scope of this `Wire` object.
    `static java.lang.String` | `WIREADMIN_EVENTS` Service Registration property (named `wireadmin.events`) specifying the `WireAdminEvent` type of interest to a Wire Admin Listener service.
    `static java.lang.String` | `WIREADMIN_FILTER` `Wire` property key (named `wireadmin.filter`) specifying a filter used to control the delivery rate of data between the Producer and the Consumer service.
    `static java.lang.String` | `WIREADMIN_PID` `Wire` property key (named `wireadmin.pid`) specifying the persistent identity (PID) of this `Wire` object.
    `static java.lang.String` | `WIREADMIN_PRODUCER_COMPOSITE` A service registration property for a Producer service that is composite.
    `static java.lang.String` | `WIREADMIN_PRODUCER_FILTERS` Service Registration property (named `wireadmin.producer.filters`).
    `static java.lang.String` | `WIREADMIN_PRODUCER_FLAVORS` Service Registration property (named `wireadmin.producer.flavors`) specifying the list of data types available from this Producer service.
    `static java.lang.String` | `WIREADMIN_PRODUCER_PID` `Wire` property key (named `wireadmin.producer.pid`) specifying the `service.pid` of the associated Producer service.
    `static java.lang.String` | `WIREADMIN_PRODUCER_SCOPE` Service registration property key (named `wireadmin.producer.scope` ) specifying a list of names that may be used to define the scope of this `Wire` object.
    `static java.lang.String[]` | `WIREADMIN_SCOPE_ALL` Matches all scope names.
    `static java.lang.String` | `WIREVALUE_CURRENT` `Wire` object's filter attribute (named `wirevalue.current`) representing the current value.
    `static java.lang.String` | `WIREVALUE_DELTA_ABSOLUTE` `Wire` object's filter attribute (named `wirevalue.delta.absolute`) representing the absolute delta.
    `static java.lang.String` | `WIREVALUE_DELTA_RELATIVE` `Wire` object's filter attribute (named `wirevalue.delta.relative`) representing the relative delta.
    `static java.lang.String` | `WIREVALUE_ELAPSED` `Wire` object's filter attribute (named `wirevalue.elapsed`) representing the elapsed time, in ms, between this filter evaluation and the last update of the `Consumer` service.
    `static java.lang.String` | `WIREVALUE_PREVIOUS` `Wire` object's filter attribute (named `wirevalue.previous`) representing the previous value.

- - ### Field Detail

    - #### WIREADMIN_PID

          static final java.lang.String WIREADMIN_PID

      `Wire` property key (named `wireadmin.pid`) specifying the persistent identity (PID) of this `Wire` object.

      Each `Wire` object has a PID to allow unique and persistent identification of a specific `Wire` object. The PID must be generated by the `WireAdmin` service when the `Wire` object is created.

      This wire property is automatically set by the Wire Admin service. The value of the property must be of type `String`.

      See Also:
        Constant Field Values

    - #### WIREADMIN_PRODUCER_COMPOSITE

          static final java.lang.String WIREADMIN_PRODUCER_COMPOSITE

      A service registration property for a Producer service that is composite. It contains the names of the composite Consumer services it can inter-operate with. Inter-operability exists when any name in this array matches any name in the array set by the Consumer service. The type of this property must be `String[]`.
      See Also:
        Constant Field Values

    - #### WIREADMIN_CONSUMER_COMPOSITE

          static final java.lang.String WIREADMIN_CONSUMER_COMPOSITE

      A service registration property for a Consumer service that is composite. It contains the names of the composite Producer services it can cooperate with. Inter-operability exists when any name in this array matches any name in the array set by the Producer service. The type of this property must be `String[]`.
      See Also:
        Constant Field Values

    - #### WIREADMIN_PRODUCER_SCOPE

          static final java.lang.String WIREADMIN_PRODUCER_SCOPE

      Service registration property key (named `wireadmin.producer.scope` ) specifying a list of names that may be used to define the scope of this `Wire` object. A Producer service should set this service property when it can produce more than one kind of value. This property is only used during registration, modifying the property must not have any effect of the `Wire` object's scope. Each name in the given list mist have `WirePermission[name,PRODUCE]` or else is ignored. The type of this service registration property must be `String[]`.
      See Also:
        `Wire.getScope()`, `WIREADMIN_CONSUMER_SCOPE`, Constant Field Values

    - #### WIREADMIN_CONSUMER_SCOPE

          static final java.lang.String WIREADMIN_CONSUMER_SCOPE

      Service registration property key (named `wireadmin.consumer.scope` ) specifying a list of names that may be used to define the scope of this `Wire` object. A `Consumer` service should set this service property when it can produce more than one kind of value. This property is only used during registration, modifying the property must not have any effect of the `Wire` object's scope. Each name in the given list mist have `WirePermission[name,CONSUME]` or else is ignored. The type of this service registration property must be `String[]`.
      See Also:
        `Wire.getScope()`, `WIREADMIN_PRODUCER_SCOPE`, Constant Field Values

    - #### WIREADMIN_SCOPE_ALL

          static final java.lang.String[] WIREADMIN_SCOPE_ALL

      Matches all scope names.

    - #### WIREADMIN_PRODUCER_PID

          static final java.lang.String WIREADMIN_PRODUCER_PID

      `Wire` property key (named `wireadmin.producer.pid`) specifying the `service.pid` of the associated Producer service.

      This wire property is automatically set by the WireAdmin service. The value of the property must be of type `String`.

      See Also:
        Constant Field Values

    - #### WIREADMIN_CONSUMER_PID

          static final java.lang.String WIREADMIN_CONSUMER_PID

      `Wire` property key (named `wireadmin.consumer.pid`) specifying the `service.pid` of the associated Consumer service.

      This wire property is automatically set by the Wire Admin service. The value of the property must be of type `String`.

      See Also:
        Constant Field Values

    - #### WIREADMIN_FILTER

          static final java.lang.String WIREADMIN_FILTER

      `Wire` property key (named `wireadmin.filter`) specifying a filter used to control the delivery rate of data between the Producer and the Consumer service.

      This property should contain a filter as described in the `Filter` class. The filter can be used to specify when an updated value from the Producer service should be delivered to the Consumer service. In many cases the Consumer service does not need to receive the data with the same rate that the Producer service can generate data. This property can be used to control the delivery rate.

      The filter can use a number of predefined attributes that can be used to control the delivery of new data values. If the filter produces a match upon the wire filter attributes, the Consumer service should be notified of the updated data value.

      If the Producer service was registered with the `WIREADMIN_PRODUCER_FILTERS` service property indicating that the Producer service will perform the data filtering then the `Wire` object will not perform data filtering. Otherwise, the `Wire` object must perform basic filtering. Basic filtering includes supporting the following standard wire filter attributes:

      - `WIREVALUE_CURRENT` - Current value
      - `WIREVALUE_PREVIOUS` - Previous value
      - `WIREVALUE_DELTA_ABSOLUTE` - Absolute delta
      - `WIREVALUE_DELTA_RELATIVE` - Relative delta
      - `WIREVALUE_ELAPSED` - Elapsed time
      See Also:
        `Filter`, Constant Field Values

    - #### WIREVALUE_CURRENT

          static final java.lang.String WIREVALUE_CURRENT

      `Wire` object's filter attribute (named `wirevalue.current`) representing the current value.
      See Also:
        Constant Field Values

    - #### WIREVALUE_PREVIOUS

          static final java.lang.String WIREVALUE_PREVIOUS

      `Wire` object's filter attribute (named `wirevalue.previous`) representing the previous value.
      See Also:
        Constant Field Values

    - #### WIREVALUE_DELTA_ABSOLUTE

          static final java.lang.String WIREVALUE_DELTA_ABSOLUTE

      `Wire` object's filter attribute (named `wirevalue.delta.absolute`) representing the absolute delta. The absolute (always positive) difference between the last update and the current value (only when numeric). This attribute must not be used when the values are not numeric.
      See Also:
        Constant Field Values

    - #### WIREVALUE_DELTA_RELATIVE

          static final java.lang.String WIREVALUE_DELTA_RELATIVE

      `Wire` object's filter attribute (named `wirevalue.delta.relative`) representing the relative delta. The relative difference is |`previous`-`current` |/| `current`| (only when numeric). This attribute must not be used when the values are not numeric.
      See Also:
        Constant Field Values

    - #### WIREVALUE_ELAPSED

          static final java.lang.String WIREVALUE_ELAPSED

      `Wire` object's filter attribute (named `wirevalue.elapsed`) representing the elapsed time, in ms, between this filter evaluation and the last update of the `Consumer` service.
      See Also:
        Constant Field Values

    - #### WIREADMIN_PRODUCER_FILTERS

          static final java.lang.String WIREADMIN_PRODUCER_FILTERS

      Service Registration property (named `wireadmin.producer.filters`). A `Producer` service registered with this property indicates to the Wire Admin service that the Producer service implements at least the filtering as described for the `WIREADMIN_FILTER` property. If the Producer service is not registered with this property, the `Wire` object must perform the basic filtering as described in `WIREADMIN_FILTER`.

      The type of the property value is not relevant. Only its presence is relevant.

      See Also:
        Constant Field Values

    - #### WIREADMIN_CONSUMER_FLAVORS

          static final java.lang.String WIREADMIN_CONSUMER_FLAVORS

      Service Registration property (named `wireadmin.consumer.flavors`) specifying the list of data types understood by this Consumer service.

      The Consumer service object must be registered with this service property. The list must be in the order of preference with the first type being the most preferred. The value of the property must be of type `Class[]`.

      See Also:
        Constant Field Values

    - #### WIREADMIN_PRODUCER_FLAVORS

          static final java.lang.String WIREADMIN_PRODUCER_FLAVORS

      Service Registration property (named `wireadmin.producer.flavors`) specifying the list of data types available from this Producer service.

      The Producer service object should be registered with this service property.

      The value of the property must be of type `Class[]`.

      See Also:
        Constant Field Values

    - #### WIREADMIN_EVENTS

          static final java.lang.String WIREADMIN_EVENTS

      Service Registration property (named `wireadmin.events`) specifying the `WireAdminEvent` type of interest to a Wire Admin Listener service. The value of the property is a bitwise OR of all the `WireAdminEvent` types the Wire Admin Listener service wishes to receive and must be of type `Integer`.
      See Also:
        `WireAdminEvent`, Constant Field Values