Package org.apache.sling.models.annotations.injectorspecific

# Annotation Interface OSGiService

@Target({METHOD,FIELD,PARAMETER}) @Retention(RUNTIME) @InjectAnnotation public @interface OSGiService
Annotation to be used on either methods, fields or constructor parameters to let Sling Models inject an OSGi service

## Optional Element Summary

Optional Elements
Modifier and Type
Optional Element
Description
`String`
`filter`
Specifies the RFC 1960-based filter string, which is evaluated when retrieving the service.
`InjectionStrategy`
`injectionStrategy`
Specifies the injection strategy applied to an annotated element: If set to `InjectionStrategy.REQUIRED`, injection is mandatory. If set to `InjectionStrategy.OPTIONAL`, injection is optional. If set to `InjectionStrategy.DEFAULT` (default), the default injection strategy defined on the `Model` applies. WARNING: Injection strategy is ignored if either `Optional` or `Required` is applied on the same element.
`boolean`
`optional`
Deprecated.
Use `injectionStrategy()` instead.

## Element Details

### filter

String filter
Specifies the RFC 1960-based filter string, which is evaluated when retrieving the service. If empty string or left out, then no filtering is being performed.

Returns:
  Filter string
See Also:
  - "Core Specification, section 5.5, for a description of the filter string"
  - RFC 1960

Default:
  ""

### optional

@Deprecated boolean optional
Deprecated.
Use `injectionStrategy()` instead.
If set to true, the model can be instantiated even if there is no OSGi service implementation available. Default = false.

Returns:
  Optional

Default:
  false

### injectionStrategy

InjectionStrategy injectionStrategy
Specifies the injection strategy applied to an annotated element:

- If set to `InjectionStrategy.REQUIRED`, injection is mandatory.
- If set to `InjectionStrategy.OPTIONAL`, injection is optional.
- If set to `InjectionStrategy.DEFAULT` (default), the default injection strategy defined on the `Model` applies.

WARNING: Injection strategy is ignored if either `Optional` or `Required` is applied on the same element.

Returns:
  Injection strategy

Default:
  DEFAULT