1 dépôt
Adding new member methods to existing classes at runtime through a scripting layer.
Distinct from Java Application Architecture: Focuses on adding behavior to existing classes via scripting, not general architectural object graph management.
Explore 1 awesome GitHub repository matching software engineering & architecture · Dynamic Class Extensions. Refine with filters or upvote what's useful.
QLExpress est un moteur de script dynamique et un langage d'expression pour la plateforme Java. Il fonctionne comme un évaluateur d'expression runtime et un moteur de règles métier, permettant aux applications d'exécuter des scripts et d'évaluer la logique métier sans nécessiter de recompilation du système. Le moteur se distingue par un sandbox de script sécurisé qui applique des politiques de sécurité via une liste blanche de classes et des timeouts d'exécution. Il prend en charge les mathématiques de haute précision pour éviter les erreurs d'arrondi et fournit un support d'alias de langage pour créer des langages spécifiques au domaine (DSL) qui ressemblent au langage naturel. Des capacités supplémentaires incluent un mécanisme de relecture de fragment basé sur des macros et la capacité d'étendre les classes Java existantes en injectant de nouvelles méthodes membres accessibles uniquement au sein de l'environnement de script. Le système couvre un large éventail de capacités, incluant la compilation basée sur bytecode avec mise en cache de script, l'évaluation d'arbre de syntaxe abstraite et l'interpolation de chaîne dynamique. Il fournit également une observabilité via le traçage d'exécution au niveau des nœuds pour l'analyse des causes profondes, ainsi qu'une validation de syntaxe de script et un support de structure de données complexe utilisant la syntaxe JSON.
Enables the extension of existing Java classes by injecting new member methods accessible only within the script environment.