Code partagé utilisant du code partagé

Tags: #<Tag:0x00007f80f5d0d810>

Bonjour,
Nous souhaitions pouvoir dire qu’un code partagé utilise un autre code partagé.
Nous développons actuellement des classes utilitaires dont chacune à une responsabilité.
Afin d’avoir du code dupliqué dans ces classes, nous souhaiterions que certaines classes utilitaires de “haut niveau” puisse utiliser des fonctionnalités d’autres classes utilitaires.

Cordialement
Amandine T.

[Platform]
Status=OK
Version=4.0.P24
BuiltOn=2020-09-30 12:05 (revision 5a820e8be619728c3675ce2fc5d5beee3afe294a)
Encoding=UTF-8
EndpointIP=21.0.9.2
EndpointURL=http://383e0a627747:8080
TimeZone=Europe/Paris
SystemDate=2020-10-21 13:09:53

Cela ne devrait pas poser de pb. Quel est le souci ?

Le problème c’est qu’il n’y pas pas d’interface comme sur les objets qui permet de dire à la plateforme de charger les autres classes de codes partagés.

En Java il n’est pas nécessaire de paramétrer les “usages des codes partagés par les objets”, ça ne sert qu’en Rhino.

En Java l’ensemble des classes sont compilées et chargées dans un class loader, elles se “voient” les unes les autres sans rien avoir à déclarer.

En fait je ne sais plus s’il est nécessaire de dire qui utilise quoi comme à l’époque de Rhino.
Dans la démo il y a bien le lien mais je pense que c’est historique.

Tous les scripts partagés codés en Java sont chargés dans un package
com.simplicite.commons.<module>
donc la dépendance est déjà donnée par la dépendance de vos modules.

package com.simplicite.commons.Demo;

import com.simplicite.util.Grant;

public class DemoCommon implements java.io.Serializable {
	private static final long serialVersionUID = 1L;

	public static boolean mySuperMethod(Grant grant, String param) {
		// ...
	}
}

Oui effectivement dans la démo ces 3 “script usages” ne servaient plus à rien (ils dataient de l’époque où la démo était en Rhino)

Ils ont été supprimés de la démo à jour sur GitHub (et sur le store)

Merci messieurs pour vos réponses. Une raison de plus de migrer notre code en java !