Klassen eines Projekts zählen

Bonsai

Bekanntes Mitglied
Hallo,

ich schreibe gerade an einem Plugin, welches Java-Klassen analysiert. nun möchte ich gern, bevor die Analyse los geht zählen wie viel Klassen jedes Project hat. kann mir da zufällig jemand helfen?

Viele Grüße
Bonsai
 

Bonsai

Bekanntes Mitglied
sowohl als auch. Da ich das noch nie gemacht habe würde es unter dem Aspekt lernen laufen. es soll aber für ein ernsthaftes Projekt sein. Ich wollte da jetzt eigentlich nicht extra noch ein Plugin für installieren. Geht das nicht auch so irgendwie?
 

Bonsai

Bekanntes Mitglied
hast du zufällig ein konkretes beispiel dazu aus dem javancss? weil ich hab ehrlich gesagt gerade zu viel um die ohren um mir das komplette teil durchzulesen.
 
S

Spacerat

Gast
Das könnte schwierig werden.
1. Class-Dateien sind erst verfügbar, wenn ein Projekt das erste mal kompiliert wurde.
2. Java-Dateien können durchaus mehrere Klassen (jedoch nur eine öffentliche) definieren. Das Problem mit inneren und anonymen Klassen kommt hier noch erschwerend hinzu.

So ein Feature wäre ja auch eigentlich Sache der Entwicklungsumgebung, deswegen frage ich mich, ob NCSS dafür so eine tolle Idee ist, wenn man trotzdem noch ein Plugin für seine IDE benötigt (which usually doesn' t exist ;)).
PlugIns (bzw. ganze Plugin-Systeme) schreibt man normalerweise ja auch für eine bestimmte Zielumgebung. Für ein derartiges Vorhaben würde ich mir deswegen zunächst erstmal die Ressourcen und sich daraus bietende Möglichkeiten der Zielumgebung ansehen.
Für mich wären dafür also z.B. der Package- oder der Project-Explorer und das PI-System von Eclipse interessant. Mein PlugIn käme dann ohne weitere Libs aus, wäre aber nur in Eclipse lauffähig.
 

Bonsai

Bekanntes Mitglied
@spacerat hättest du dafür irgendwie nen Beispiel, da ich wie gesagt das zum ersten mal mach und noch nicht so recht weiß wie ich an das auslesen der packages oder projects ran gehen soll. Un an sich soll das auch nur in Eclipse laufen.
 
S

Spacerat

Gast
Wie gross sind denn deine Kenntnisse in Eclipse-PlungIn-Entwicklung? Meine sind da leider noch relativ am Anfang. Hiermit brauch' ich dich wohl nicht mehr belasten, denk' ich.
Wenn du das durch hast, hast du mit Sicherheit auch eine Möglichkeit, an die IViewRegistry ranzukommen, um diese nach dem Projekt- bzw. Package-Explorer zu durchsuchen und dir eine Instanz davon zu besorgen. Einer von beiden dürfte dann auch wissen, welche Dateien zu dem Projekt gehören und vor allem, welche, und damit auch wieviele, Klassen er daraus bilden muss, damit das Projekt funktioniert.
Beispiele habe ich leider nicht. Das einzige, was mir in diesem Forum auffällt, ist, das Wildcard immer sehr viel zum Thema Eclipse bringt. Evtl. fragst du ihn mal.
 

Bonsai

Bekanntes Mitglied
ok werd ich mal schauen. vielleicht find ich da was. nja meine Kenntnisse bei Eclipse Plugin Programmierung sind jetzt auch noch nicht so groß. bin da an sich auch grad am anfang. Werd ihn mal anschreiben und schauen was er dazu sagt :)
 

Wildcard

Top Contributor
Ein Java Projekt (also ein Projekt mit Java Nature) hat ein zugehöriges JavaModel. Über dieses JavaModel kommst du an alle enthaltenen CompilationUnits (Klassen) heran.
Das ist also wirklich nicht weiter schwer. Dein Plugin muss nur eine Abhängigkeit auf jdt.core im Manifest angeben und dann kannst du über die statischen Methoden in JavaCore auf das JavaProject zugreifen.
Java:
IJavaProject javaProject = JavaCore.create(project);
Das hier wird mit neueren Eclipse Versionen vermutlich nicht mehr funktionieren, aber dort kannst du dir Beispiel Code anschauen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Javadoc von abgeleiteten Klassen Plattformprogrammierung 4
S RCP, Klassen und Packages Plattformprogrammierung 5
M Eclipse Probleme beim Ausführen eines Programms Plattformprogrammierung 3
Bregedur Suche eine Möglichkeit alle Dateien eines Verzeichnisses in eine Java-Applet zu übernehmen Plattformprogrammierung 1
O [RAP] drucken eines ScrolledComposite Plattformprogrammierung 2
C RCP Generieren eines WAR-Files aus einem lauffähigen Product Plattformprogrammierung 2
M EMF Model Transaction Fehler beim Updaten eines Graphiti-Pictogramms Plattformprogrammierung 2
M RCP Aktivierung eines CommandHandlers, Änderungen in der plugin.xml wirken sich nicht aus... Plattformprogrammierung 2
T Speichern eines Objectes in einem Editor (mit isDirty) Plattformprogrammierung 6
D Elemente eines ViewParts Plattformprogrammierung 3
M Eclipse RCP: MouseListener an Pages eines MultipageEditorPart hängen... Plattformprogrammierung 3
S Versionsprobleme beim Erstellen eines Plugins Plattformprogrammierung 6
T Erstellen eines "Ersetzten Plugin" aus GEF Plattformprogrammierung 2
R Programatische Erweiterung des Menues eines Plattformprogrammierung 10
A Overlay in View eines anderen Plug-Ins zeichnen Plattformprogrammierung 2
T Plugin eines bestehenden Editors hinzufügen Plattformprogrammierung 2
N plugin dependencies innerhalb eines projects halten Plattformprogrammierung 11
dzim java.lang.ClassNotFoundException beim laden eines Plugins Plattformprogrammierung 10
M Kategorie eines Exportschemas Plattformprogrammierung 4
T [RCP] Was passiert genau beim laden eines Plugins? Plattformprogrammierung 4
dzim Fehler beim starten eines Produkts Plattformprogrammierung 5
lhein Sprachumschaltung eines eigenen Eclipse Plugins Plattformprogrammierung 8

Ähnliche Java Themen


Oben