1 Repo
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 ist eine dynamische Skript-Engine und Ausdruckssprache für die Java-Plattform. Sie fungiert als Laufzeit-Ausdrucksauswerter und Business-Rule-Engine, die es Anwendungen ermöglicht, Skripte auszuführen und Geschäftslogik auszuwerten, ohne dass eine System-Neukompilierung erforderlich ist. Die Engine zeichnet sich durch eine sichere Skript-Sandbox aus, die Sicherheitsrichtlinien via Class-Whitelisting und Ausführungs-Timeouts durchsetzt. Sie unterstützt hochpräzise Mathematik, um Rundungsfehler zu vermeiden, und bietet Unterstützung für Sprach-Aliase, um domänenspezifische Sprachen zu erstellen, die natürlicher Sprache ähneln. Zusätzliche Funktionen umfassen einen Makro-basierten Fragment-Replay-Mechanismus und die Möglichkeit, bestehende Java-Klassen durch das Injizieren neuer Member-Methoden zu erweitern, die nur innerhalb der Skriptumgebung zugänglich sind. Das System deckt ein breites Spektrum an Funktionen ab, einschließlich Bytecode-basierter Kompilierung mit Skript-Caching, Auswertung abstrakter Syntaxbäume und dynamischer String-Interpolation. Es bietet zudem Observability durch knotenbasierte Ausführungsverfolgung für die Ursachenanalyse sowie Skript-Syntaxvalidierung und Unterstützung komplexer Datenstrukturen unter Verwendung von JSON-Syntax.
Enables the extension of existing Java classes by injecting new member methods accessible only within the script environment.