Annotation Type 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
      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.
      java.lang.String name
      Specifies the name of the property containing the resource path.
      boolean optional
      Deprecated.
      Use injectionStrategy() instead.
      java.lang.String path
      Specifies the path of the resource.
      java.lang.String[] paths
      Specifies more than one path for the resource.
    • Element Detail

      • path

        java.lang.String path
        Specifies the path of the resource. If not provided, the path is derived from the property name.
        Default:
        ""
      • paths

        java.lang.String[] paths
        Specifies more than one path for the resource. If not provided, a single path is derived from the property name.
        Default:
        {}
      • name

        java.lang.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.
        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.
        Default:
        false
      • 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.
        Default:
        org.apache.sling.models.annotations.injectorspecific.InjectionStrategy.DEFAULT