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

# Annotation Interface ValueMapValue

@Target({METHOD,FIELD,PARAMETER}) @Retention(RUNTIME) @InjectAnnotation public @interface ValueMapValue
Annotation to be used on either methods, fields or constructor parameter to let Sling Models inject a value from the ValueMap of the current resource.

## Optional Element Summary

Optional Elements
Modifier and Type
Optional Element
Description
`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.
`String`
`name`
Specifies the name of the value from the value map to take.
`boolean`
`optional`
Deprecated.
Use `injectionStrategy()` instead
`String`
`via`
If set, then the child resource can be obtained via a projection of the given property of the adaptable.

## Element Details

### name

String name
Specifies the name of the value from the value map to take. If empty, then the name is derived from the method or field.

Returns:
  Name

Default:
  ""

### optional

@Deprecated boolean optional
Deprecated.
Use `injectionStrategy()` instead
If set to true, the model can be instantiated even if that value is missing. Only considered if default is not set, because any default value implicitly sets optional to true

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

### via

String via
If set, then the child resource can be obtained via a projection of the given property of the adaptable.

Returns:
  Via name

Default:
  ""