Wie kann ich alle Methoden von java.lang.Object vor Codevervollständigung verbergen?

8

Ich möchte einige einfache Wrapper-Klassen für eine vorhandene Klassenbibliothek erstellen. Um die Syntax lesefreundlich zu machen UND (über Code-Vervollständigung) zu raten, möchte ich die Methoden von java.lang.Object entfernen.

Das Problem ist, dass alle nicht-atomaren Dinge in Java von Object geerbt werden und somit diese Methoden haben. Ich habe bereits versucht, die Wrapper-Syntax über Enums und Interfaces ohne Erfolg zu erstellen; da enums und schnittstellen auch java.lang.Objects sind.

java.lang.Object hat neun Methoden, die ich nicht in der Code-Vervollständigung meiner Schnittstellen sehen möchte. Hier ist, was ich entfernen möchte (rot) und was ich behalten möchte (grün):

alt text http://ju.venile.de/upload/java-lang-object -methods.png

Hier ist ein Beispielcode, um nette Wrapper um bestehende Klassen (Builder-Muster) zu erstellen:

%Vor%

Die Verwendung des neuen Wrapper-Codes sollte wie folgt aussehen:

%Vor%

Wenn Sie alle this -Anweisungen des Builders an eine Schnittstelle übergeben, wird die Sichtbarkeit der Methode reduziert, z. wenn der Builder mehr als eine Schnittstelle implementiert. Alle java.lang.Object Methoden bleiben leider erhalten.

Wenn dieses Verstecken von Methoden in Java möglich wäre (vielleicht mit Anmerkungen?), könnte ich eine nette Bibliothek erstellen, die IDE-unabhängig ist (nette Code-Vervollständigung überall). Wenn nicht, dann gibt es zumindest für die Eclipse-IDE (vielleicht ein Plugin?) Einen Trick, der die java.lang.Object-Methode zum Verbergen bereitstellen kann.

    
Juve 23.02.2009, 19:05
quelle

1 Antwort

26

Für Eclipse 3.4 können Sie zumindest Folgendes tun:

1) Gehe zu Einstellungen - & gt; Java - & gt; Aussehen - & gt; Geben Sie Filter ein 2) Klicken Sie auf Hinzufügen und geben Sie java.lang.Object

ein

Nun werden die Methoden, die direkt von java.lang.Object übernommen wurden, im Code-Assist verschwinden.

    
Il-Bhima 23.02.2009, 19:17
quelle

Tags und Links