org.apache.felix.ipojo.dependency.interceptors

## Interface TransformedServiceReference<S>

All Superinterfaces:
  java.lang.Comparable<java.lang.Object>, org.osgi.framework.ServiceReference<S>

All Known Implementing Classes:
  TransformedServiceReferenceImpl

    public interface TransformedServiceReference<S>
    extends org.osgi.framework.ServiceReference<S>

Transformed service reference is an interface letting updating the properties of a service reference. Transformed service reference wraps a real service reference and has all its properties.

### Field Summary

Fields
`static java.util.List<java.lang.String>` `FORBIDDEN_KEYS` These properties are cannot be removed, added or updated.

### Method Summary

All Methods Instance Methods Abstract Methods
`TransformedServiceReference<S>` `addProperty(java.lang.String name, java.lang.Object value)` Adds a property to the reference
`TransformedServiceReference<S>` `addPropertyIfAbsent(java.lang.String name, java.lang.Object value)` Adds a property to the service reference if this property is not already set on the reference.
`boolean` `contains(java.lang.String name)` Does the service reference contains the given property ?
`java.lang.Object` `get(java.lang.String name)` Gets the current value of a property.
`org.osgi.framework.ServiceReference<S>` `getWrappedReference()` Gets the wrapped service reference
`TransformedServiceReference<S>` `removeProperty(java.lang.String name)` Removes a property from the reference.

### Methods inherited from interface org.osgi.framework.ServiceReference

`compareTo, getBundle, getProperty, getPropertyKeys, getUsingBundles, isAssignableTo`

### Field Detail

#### FORBIDDEN_KEYS

    static final java.util.List<java.lang.String> FORBIDDEN_KEYS

These properties are cannot be removed, added or updated.

### Method Detail

#### addProperty

    TransformedServiceReference<S> addProperty(java.lang.String name,
                                               java.lang.Object value)

Adds a property to the reference

Parameters:
  `name` - the property name
  `value` - the value (must not be null)
Returns:
  the current transformed service reference

#### addPropertyIfAbsent

    TransformedServiceReference<S> addPropertyIfAbsent(java.lang.String name,
                                                       java.lang.Object value)

Adds a property to the service reference if this property is not already set on the reference.

Parameters:
  `name` - the property name
  `value` - the value
Returns:
  the current transformed service reference

#### get

    java.lang.Object get(java.lang.String name)

Gets the current value of a property.

Parameters:
  `name` - the property name
Returns:
  the current value of the property, null if not in the properties.

#### removeProperty

    TransformedServiceReference<S> removeProperty(java.lang.String name)

Removes a property from the reference.

Parameters:
  `name` - the property name
Returns:
  the current transformed service reference

#### contains

    boolean contains(java.lang.String name)

Does the service reference contains the given property ?

Parameters:
  `name` - the property name
Returns:
  whether the current reference contains a property with the given name

#### getWrappedReference

    org.osgi.framework.ServiceReference<S> getWrappedReference()

Gets the wrapped service reference

Returns:
  the wrapped service reference