Sto imparando a utilizzare una delle nuove funzionalità di AEM6 - Modelli di imbracatura. Ho già recuperato le proprietà di un nodo che segue i passi descritti hereCome adattare un nodo figlio nel modello di sling di aem6
@Model(adaptables = Resource.class)
public class UserInfo {
@Inject @Named("jcr:title")
private String title;
@Inject @Default(values = "xyz")
private String firstName;
@Inject @Default(values = "xyz")
private String lastName;
@Inject @Default(values = "xyz")
private String city;
@Inject @Default(values = "aem")
private String technology;
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
public String getTechnology() {
return technology;
}
public String getTitle() {
return title;
}
}
e adattato da una risorsa
UserInfo userInfo = resource.adaptTo(UserInfo.class);
ora ho la gerarchia -
+ UserInfo (firstName, lastName, technology)
|
+ UserAddress (houseNo, locality, city, state)
Ora desidera recuperare le proprietà di UserAddress
.
avevo ottenuto alcuni suggerimenti dalla pagina di documentazione, come ad esempio -
Se l'oggetto iniettato non corrisponde al tipo desiderato e l'oggetto implementa l'interfaccia adattabile, modelli di imbracatura cercheranno di adattarlo. Ciò fornisce la possibilità di creare grafici di oggetti ricchi. Per esempio:
@Model(adaptables = Resource.class)
public interface MyModel {
@Inject
ImageModel getImage();
}
@Model(adaptables = Resource.class)
public interface ImageModel {
@Inject
String getPath();
}
Quando una risorsa è adatto a
MyModel
, un'immagine risorsa bambino di nome si adatta automaticamente a un'istanza diImageModel
.
ma non so come implementarlo nelle mie classi. Per favore aiutami con questo.