Package org.apache.sling.models.spi.injectorspecific

# Interface InjectAnnotationProcessor2

All Superinterfaces:
  `InjectAnnotationProcessor`

All Known Implementing Classes:
  `AbstractInjectAnnotationProcessor2`

@ConsumerType public interface InjectAnnotationProcessor2 extends InjectAnnotationProcessor
Processor for injector-specific annotations.

## Method Summary

Modifier and Type
Method
Description
`Object`
`getDefault()`
Tries to get the default value from the annotation.
`InjectionStrategy`
`getInjectionStrategy()`
Tries to get the information whether the injection is optional.
`String`
`getName()`
Tries to get the name value from the annotation.
`String`
`getVia()`
Tries to get the via value from the annotation.
`boolean`
`hasDefault()`

### Methods inherited from interface org.apache.sling.models.spi.injectorspecific.InjectAnnotationProcessor

`isOptional`

## Method Details

### getName

String getName()
Tries to get the name value from the annotation.

Specified by:
  `getName` in interface `InjectAnnotationProcessor`
Returns:
  the value to be used for the name or null, in which case the standard annotation or name derived from method/field should be used

### getVia

String getVia()
Tries to get the via value from the annotation.

Specified by:
  `getVia` in interface `InjectAnnotationProcessor`
Returns:
  the value to be used for the via or null, in which case the standard annotation should be used

### hasDefault

boolean hasDefault()

Specified by:
  `hasDefault` in interface `InjectAnnotationProcessor`
Returns:
  true, if a default value is set

### getDefault

Object getDefault()
Tries to get the default value from the annotation. Only used if `hasDefault()` is set to true.

Specified by:
  `getDefault` in interface `InjectAnnotationProcessor`
Returns:
  the value to be used if nothing can be injected

### getInjectionStrategy

InjectionStrategy getInjectionStrategy()
Tries to get the information whether the injection is optional.

Returns:
  `REQUIRED` if injection is mandatory, `OPTIONAL` if injection is optional or `DEFAULT` in which case the standard annotation/injection strategy should be used.