tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
278
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    firmadankt firmadankt ist offline Mitglied Bronze
    Registriert seit
    Nov 2007
    Beiträge
    29
    Hallo zusammen,

    ich suche eine einfache Möglichkeit, Javaklassen (als Quellcode) zu generieren, und zu formatieren.

    Mein konkretes Ziel ist:

    Man soll bestimmte Klassen nicht direkt nutzen, sondern man soll auschließlich gegen Interfaces programmieren. Die interfaces sollen dieselben Methoden besitzen. Die Implementierung dieser Interfaces wird dann durch ein Delegate implementiert.

    Also optimal für mich wäre eine API, die es mir erlaubt, Daten über vorhandene Klassen auszulesen: Namen, Rückgabewerte und Parameter von Methoden etc.

    Und eigene Klassen wegzuschreiben, so dass schön formatierte Javaklassen als Quellcode am Ende entstehen.

    Meine Hoffnung ist, dass ich eine API nutzen kann, die den Zugriff abstrahiert, und ich nicht alles über Reflection, bzw. über Stringoperationen implementieren muss.

    Kann mir da jemand helfen?
     

  2. #2
    Adrian_Broher Adrian_Broher ist offline Mitglied Gold
    Registriert seit
    Aug 2007
    Beiträge
    166
    Zitat Zitat von firmadankt Beitrag anzeigen
    Hallo zusammen,

    ich suche eine einfache Möglichkeit, Javaklassen (als Quellcode) zu generieren, und zu formatieren.

    Mein konkretes Ziel ist:

    Man soll bestimmte Klassen nicht direkt nutzen, sondern man soll auschließlich gegen Interfaces programmieren. Die interfaces sollen dieselben Methoden besitzen. Die Implementierung dieser Interfaces wird dann durch ein Delegate implementiert.

    Also optimal für mich wäre eine API, die es mir erlaubt, Daten über vorhandene Klassen auszulesen: Namen, Rückgabewerte und Parameter von Methoden etc.

    Und eigene Klassen wegzuschreiben, so dass schön formatierte Javaklassen als Quellcode am Ende entstehen.

    Meine Hoffnung ist, dass ich eine API nutzen kann, die den Zugriff abstrahiert, und ich nicht alles über Reflection, bzw. über Stringoperationen implementieren muss.

    Kann mir da jemand helfen?
    Im Endeffekt lese ich aus der Frage hinaus, dass du so etwas wie einen Stubgenerator haben moechtest, ist das so korrekt? Solche Funktionen sind eigentlich in jeder besseren IDE (Eclipse, NetBeans, IntelliJ IDEA) implementiert. Wenn du einen Stubgenerator für die Kommandozeile suchst sollte das JStubGen Projekt (selber noch nie benutzt) dein Freund sein.

    Falls das nicht das war was du suchst spezifizier deine Frage nochmal.
     
    I'm not slacking off!

    My code's just compiling.

  3. #3
    firmadankt firmadankt ist offline Mitglied Bronze
    Registriert seit
    Nov 2007
    Beiträge
    29
    Danke erstmal für die Antwort. Es kann sein, das es das ist, was ich suche.

    Ich arbeite mit IntelliJ Idea, vermisse aber gerade hier diese Funktionalität. Es gibt zwar sowas, wie "Replace inheritance with delegation" und "extract interface", bzw. "use interface where possible", aber das kann ich leider nur auf einzelne Dateien, und nicht auf ganze Pakete anwenden. Aber im Prinzip wäre das so die Funktionalität, die ich Suche.
     

  4. #4
    Avatar von Oliver Gierke
    Oliver Gierke Oliver Gierke ist offline Mitglied Rubin
    Registriert seit
    Dec 2003
    Ort
    Mannheim
    Beiträge
    1.457
    Ich bin etwas verwirrt. Ein Refactoring blind auf alle Klassen eines Paketes anwenden zu wollen klingt für mich nach "Ich habe einen Hammer, also muss alles ein Nagel sein". Mir ist desweiteren noch nicht ganz klar, was deine Ausgangssituation ist, und was du erreichen willst. Willst du eine API benutzen oder eine bereitstellen? Willst du bestehenden Code umbauen, der auf Vererbung aufbaut? Irgendwie ist mir das zu wolkig um konkrete Tipps geben zu können.

    Grundsätzlich bin ich jedoch der Meinung, dass die Refactoringmöglichkeiten der IDEs nicht ohne Grund auf dem Level sind auf dem sie sind. D.h. weitergehende verallgemeinerte Refactorings sind in den meisten Fällen ungünstig, da ein Refactoring in vielen Fällen nicht so einfach generisch abzubilden ist und es schon verlangt, dass man selbst Hand anlegt.

    Schon im einfachen Fall eines Adapters musst du irgendwie Methoden des Providedinterface auf das des Requiredinterface mappen. Woher soll eine IDE wissen, wie das Mapping passieren soll, welche Logik dafür zu implementieren ist?

    Gruß
    Ollie
     
    In theory, there is no difference between theory and practice. In practice, there is!

    www.olivergierke.de

Ähnliche Themen

  1. Quellcode de-formatieren
    Von cille im Forum Coders Talk
    Antworten: 8
    Letzter Beitrag: 29.07.10, 01:37
  2. HTML Quellcode mit Javascript formatieren?
    Von Experience1986 im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 09.05.07, 18:20
  3. HTML-Quellcode richtig formatieren lassen
    Von beckersbesters im Forum PHP
    Antworten: 3
    Letzter Beitrag: 16.04.06, 19:43
  4. JS soll Quellcode generieren
    Von hondocrx im Forum Javascript & Ajax
    Antworten: 12
    Letzter Beitrag: 26.08.05, 18:16
  5. Quellcode formatieren / Einzug
    Von Basileus im Forum HTML-Editoren
    Antworten: 0
    Letzter Beitrag: 04.07.04, 17:21