J'essaie d'utiliser l'annotation personnalisée dans hexMachina.Utiliser une annotation personnalisée dans hexMachina
Dans un module, enregistrer mon métadonnées:
this._annotationProvider.registerMetaData("Url", this.urlProviderModel.getUrl)
Et dans une commande exécutée dans une macro:
@Url("applicationConfig")
public var applicationConfigUrl:String;
La macro est exécuté dans le contexte:
<state id="assemblingEnd" ref="applicationContext.state.ASSEMBLING_END">
<enter command-class="app.adapter.bootstrap.BootstrapMacro" fire-once="true"/>
</state>
applicationConfigUrl a null
Qu'est-ce qui manque?
Et comment obtenez-vous le contexte à partir du module lui-même ou d'un service? Cela ne semble pas possible. – Neverbirth
Imho, ce serait une mauvaise pratique de récupérer le contexte principal d'un composant interne, car chaque composant devrait être une boîte noire aveugle sans aucune connaissance du monde global. BTW, si vous souhaitez récupérer ces informations, voici un exemple rapide extrait de tests unitaires: 'var annotationProvider = applicationAssembler.getContextFactory (applicationAssembler.getApplicationContext ("applicationContext")) .getAnnotationProvider(); \t \t annotationProvider.registerMetaData ("color", this.getColorByName); ' –