Ich bin mit dem Java -Plattform -Modulsystem vertraut. p>
Diese Methode kann für Fälle verwendet werden Ein API -Modul , aber der reflektierende Zugriff auf die Mitglieder von Klassen im Verbrauchermodul wird in ein anderes Modul auf Code delegiert. Code im API -Modul kann mit dieser Methode das Paket im Verbrauchermodul zum anderen Modul geöffnet. Ich bin zu dumm, um den Sprung von dieser Beschreibung in die reale Welt zu machen. Ich kann sehen, dass dies mit der Erweiterung des tiefen reflektierenden Zugangs in gewisser Weise zu tun hat, aber ich bin mir nicht sicher, wie diese Mode ist, insbesondere angesichts der Methode Beschreibung selbst: < /p>
Wenn dieses Modul [das " Verbrauchermodul "? Vielleicht?] hat ein Paket zum mindestens das Anrufermodul geöffnet [das " api -Modul "? Vielleicht?] Aktualisieren Sie dieses Modul, um das Paket für das angegebene Modul zu öffnen [das " andere Modul "? Vielleicht?]. Ein Paket zu so etwas wie Servlet (das "API -Modul"?), ohne zur Laufzeit zu wissen, dass die Implementierung von Servlet im Spiel tatsächlich (sagen wir) Tomcat. und erlauben Sie so irgendwie Tomcat (das "andere" Modul?) Reflektierende Dinge, ohne zu wissen, dass es tatsächlich Tomcat (und nicht, beispielsweise, Steg), diese reflektierenden Dinge tut und ohne zusätzliche Öffnung zu haben. foo.bar to tomcat in Modul-info sowie öffnet com.foo.bar to servlet .
(Ich bin auch nicht nicht Sicher, wo die "Delegation" in diesem Szenario zu Tomcat "delegieren" kann. Ich bin mir nicht sicher, wie dies funktionieren soll oder wo und wann in meinem Code in diesem Szenario ich diese Art von Anruf tätigen soll oder warum ich jetzt, wenn ich bereits eine OpenS -serklärung hinzugefügt habe, jetzt muss ich jetzt Mach auch etwas programmatisches. Ich verstehe das motivierende Ziel der Integrität und diese Erlaubnis muss für den reflektierenden Zugang erteilt werden, und dies ist vermutlich , um die Dinge irgendwie einfacher zu machen, aber ich kann nicht konkret dorthin gelangen.
Kurz gesagt: Gibt es tatsächlich einen konkreten Anwendungsfall für diese Funktion? Wenn ja, was ist das? Wie funktioniert es?
Was sind die realen Anwendungsfälle für java.lang.module#addopens (String, Modul)? ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post