Ajouter une classe d’utilisation

Le composant info en tant que tel n’a pas besoin d’une classe d’utilisation pour remplir sa simple fonction. Cependant, il existe des cas où vous devez effectuer des tâches qui ne peuvent pas être réalisées en HTL. Vous avez donc besoin d’une classe d’utilisation. Gardez toutefois à l’esprit les points suivants :

NOTE
Une classe d’utilisation ne devrait être utilisée que lorsque quelque chose ne peut pas être fait dans le HTL seul.

Par exemple, supposons que vous souhaitiez que le composant info affiche les propriétés title et description de la ressource, mais toutes en minuscules. Comme HTL ne dispose pas d’une méthode pour mettre en minuscules les chaînes, vous pouvez ajouter une classe d’utilisation en ajoutant une classe d’utilisation Java et modifier /apps/my-example/component/info/info.html comme suit :

<div data-sly-use.info="Info">
    <h1>${info.lowerCaseTitle}</h1>
    <p>${info.lowerCaseDescription}</p>
</div>

De plus, /apps/my-example/component/info/Info.java est créé.

package apps.my_example.components.info;

import com.adobe.cq.sightly.WCMUsePojo;

public class Info extends WCMUsePojo {
    private String lowerCaseTitle;
    private String lowerCaseDescription;

    @Override
    public void activate() throws Exception {
        lowerCaseTitle = getProperties().get("title", "").toLowerCase();
        lowerCaseDescription = getProperties().get("description", "").toLowerCase();
    }

    public String getLowerCaseTitle() {
        return lowerCaseTitle;
    }

    public String getLowerCaseDescription() {
        return lowerCaseDescription;
    }
}

Pour en savoir plus, consultez la documentation Java pour com.adobe.cq.sightly.WCMUsePojo.

Maintenant, examinons les différentes parties du code.