[Intersult] [Coder] ist ein Werkzeug zur Analyse und zum Generieren von Code. Wichtige Bestandteile sind: * __Reflector:__ Stellt ein erweitertes Reflection für Java-Klassen zur Verfügung mit der Unterstüzung von Argumentnamen (bei Methoden), Generics, Annotations und Kommentaren. * __Generator:__ Generiert Code aus erstellten JavaClass-Dateien und schreibt diesen in Dateien. !!!Generator Code-Generierung aus XML-Schema (XSD) oder WSDL können mit Plugins, wie dem [Abraxas Maven Plugin|Abraxas] abgedekt werden. Für die Implementierung eigener [Maven-Plugins] oder anderer Art von Code-Generierung kann der Generator direkt verwendet werden. {{{ JavaClass javaClass = new JavaClass("com.intersult.test", "Test"); javaClass.generatePath(); Generator.generateClass(Reflector.INSTANCE, javaClass); }}} __Erklärung:__ Es wird eine neue Klasse com.intersult.test.Test erzeugt. Die Methode generatePath erzeugt den Package-Pfad, der nicht in jedem Fall erwünscht sein kann. Der Generator schreibt dann mit generateClass die Klasse in Dateien. Der Java-Standard ist dabei so definiert, dass Unterklassen (Sub-Classes) in getrennte Dateien geschrieben werden mit dem Namensmuster <Hauptklasse>$<Unterklasse>. Optional kann eine Liste übergeben werden, in der die generierten Dateien eingetragen werden: {{{ List<File> files = new ArrayList<File>(); Generator.generateClass(Reflector.INSTANCE, javaClass, list); }}}