API pour propriétés à valeurs multiples

Utilisez l'interface com.ibm.websphere.personalization.resources.IMVResource pour permettre le mappage des propriétés à valeurs multiples. Utilisez l'interface com.ibm.websphere.personalization.resources.IMultiValueUtils pour extraire des propriétés à valeurs multiples lorsque ces ressources sont stockées dans une base de données.

L'interface com.ibm.websphere.personalization.resources.IMVResource étend les fonctionnalités de l'interface Resource et permet la mise en correspondance des propriétés à valeurs multiples. L'implémentation de cette interface n'est requise que lorsqu'une implémentation IMultiValueUtils est utilisée par ResourceManager3. Il s'agit du cas par défaut pour les ressources générées avec les outils du Portal, mais but may not be necessary for custom resources.

Tableau 1. Description des méthodes utilisées pour mapper des propriétés à valeurs multiples
Méthode Explication
setMultiValueUtils(IMultiValueUtils instance) Enregistre la référence à l'instance de MultiValueUtils. Cette référence est utilisée lors de l'appel de la méthode fillinMultiValueProperties de la classe MultiValueUtils. Cette méthode ne renvoie aucun résultat.
addMultiValuePropertyValue(String propertyname, Object propertyvalue) Permet à l'instance IMVResource d'ajouter des valeurs pour les propriétés à valeurs multiples. Cette méthode ne renvoie aucun résultat.

L'interface com.ibm.websphere.personalization.resources.IMultiValueUtils constitue un jeu d'utilitaires d'extraction des propriétés à valeurs multiples lorsque ces ressources sont stockées dans une base de données. Cette classe prend en charge la mise en correspondance des propriétés à valeurs multiples avec les tables ad-hoc d'une base de données.

Tableau 2. Description des méthodes utilisées pour récupérer des propriétés à valeurs multiples
Méthode Explication
convertSQLtoMultiValue(String query) Convertit la chaîne de requête SQL pour les classes ResourceManager3 qui doivent rechercher des propriétés à valeur unique ou multiples. Renvoie une énumération qui contient la clause where convertie suivie d'un ou plusieurs éléments contenant les noms des tables impliqués dans la requête.
populateJoinedProperties(IMVResource theResource, RequestContext context) Extrait la valeur de toutes les propriétés à valeurs multiples, et appelle la méthode addMultiValuePropertyValue de l'interface IMVResource. Cette méthode ne renvoie aucun résultat.
populateJoinedProperty(IMVResource theResource, String propertyName, RequestContext context) Extrait la valeur de toutes les propriétés à valeur unique et appelle la méthode addMultiValuePropertyValue de l'interface IMVResource. Cette méthode ne renvoie aucun résultat.
syncJoinedProperty(IMVResource theResource, String propertyName, List values, RequestContext context) Insère la propriété multi-valeurs dans le référentiel de ressources.