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

# Annotation Interface ResourcePath

@Target({METHOD,FIELD,PARAMETER}) @Retention(RUNTIME) @InjectAnnotation public @interface ResourcePath
Annotation to be used on either methods, fields or constructor parameters to let Sling Models inject a resource by path(s). The path may be either in the path/paths attribute or in a value map property with the given name.

## 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 property containing the resource path.
`boolean`
`optional`
Deprecated.
Use `injectionStrategy()` instead.
`String`
`path`
Specifies the path of the resource.
`String[]`
`paths`
Specifies more than one path for the resource.

## Element Details

### path

String path
Specifies the path of the resource. If not provided, the path is derived from the property name.

Returns:
  Path

Default:
  ""

### paths

String[] paths
Specifies more than one path for the resource. If not provided, a single path is derived from the property name.

Returns:
  Paths

Default:
  {}

### name

String name
Specifies the name of the property containing the resource path. If empty or not set, 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 there is no request attribute with the given name found. 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