Annotation Type StyleOrValueMapValue


@Target({METHOD,FIELD,PARAMETER}) @Retention(RUNTIME) @InjectAnnotation public @interface StyleOrValueMapValue
Annotation to be used on either methods, fields or constructor parameter to let Sling Models inject a value from the current Style or ValueMap. Per default, if the value is present in the style and the value map, the value form current value map will be injected See preferStyleValues() to change this behaviour.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    if set to REQUIRED injection is mandatory, if set to OPTIONAL injection is optional, in case of DEFAULT the standard annotations (Optional, Required) are used.
    Specifies the name of the value from the current style or value map to take.
    boolean
    If set to {true} the value from the current style will be injected in favor of the value from the current value map.
  • Element Details

    • name

      String name
      Specifies the name of the value from the current style or value map to take. If empty, then the name is derived from the method or field.
      Returns:
      String name of the injector
      Default:
      ""
    • injectionStrategy

      InjectionStrategy injectionStrategy
      if set to REQUIRED injection is mandatory, if set to OPTIONAL injection is optional, in case of DEFAULT the standard annotations (Optional, Required) are used. If even those are not available the default injection strategy defined on the Model applies. Default value = DEFAULT.
      Returns:
      InjectionStrategy injection strategy
      Default:
      DEFAULT
    • preferStyleValues

      boolean preferStyleValues
      If set to {true} the value from the current style will be injected in favor of the value from the current value map.
      Returns:
      true if current style values will be used
      Default:
      false