...
Code Block |
MyModel model = resource.adaptTo(MyModel.class)
OR
|
Or
Code Block |
|
|
<sling:adaptTo adaptable="${resource}" adaptTo="org.apache.sling.yamf.it.models.MyModel" var="model"/>
OR
|
Or
Code Block |
|
|
${sling:adaptTo(resource, 'org.apache.sling.yamf.it.models.MyModel')} |
Other Options
If the field or method name doesn't exactly match the property name, @Named can be used:
...
Code Block |
|
|
@Model(adaptables=Resource.class)
public class MyModel {
@Inject @Optional
private String otherName;
}
|
A default value can be provided (for Strings & primitives):
Code Block |
|
|
@Model(adaptables=Resource.class)
public class MyModel {
@Inject @Default(values="defaultValue")
private String name;
}
|
Defaults can also be arrays:
Code Block |
|
|
@Model(adaptables=Resource.class)
public class MyModel {
@Inject @Default(intValues={1,2,3,4})
private int[] integers;
}
|
OSGi services can be injected:
...