Annotation Type ChildResource
@Target({METHOD,FIELD,PARAMETER})
@Retention(RUNTIME)
@InjectAnnotation
public @interface ChildResource
Annotation to be used on either methods, fields or constructor parameters to let Sling Models inject a child resource
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionSpecifies the injection strategy applied to an annotated element: If set toInjectionStrategy.REQUIRED, injection is mandatory. If set toInjectionStrategy.OPTIONAL, injection is optional. If set toInjectionStrategy.DEFAULT(default), the default injection strategy defined on theModelapplies. WARNING: Injection strategy is ignored if eitherOptionalorRequiredis applied on the same element.Specifies the name of the child resource.booleanDeprecated.If set, then the child resource can be obtained via a projection of the given property of the adaptable.
-
Element Details
-
name
String nameSpecifies the name of the child resource. If empty or not set, then the name is derived from the method or field.- Returns:
- Name
- Default:
- ""
-
optional
Deprecated.UseinjectionStrategy()instead.If set to true, the model can be instantiated even if there is no child resource with that name available. Default = false.- Returns:
- Optional
- Default:
- false
-
injectionStrategy
InjectionStrategy injectionStrategySpecifies 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 theModelapplies.
OptionalorRequiredis applied on the same element.- Returns:
- Injection strategy
- Default:
- DEFAULT
- If set to
-
via
String viaIf set, then the child resource can be obtained via a projection of the given property of the adaptable.- Returns:
- Via name
- Default:
- ""
-
injectionStrategy()instead.