2017-05-30 1 views
0

Ich habe eine Bibliothek erstellt. Eigentlich ist es ein Wrapper einer anderen Bibliothek. Also möchte ich den Entwickler, der meine Bibliothek benutzt, einschränken, um die Klassen der internen Bibliothek zu sehen, die ich benutzt habe. Der Entwickler sollte die interne Bibliothek, die ich benutzt habe, nicht kennen.Verstecken Sie die Bibliothek, die intern in meiner eigenen Bibliothek verwendet wird

Zum Beispiel: Sagen wir "X" ist meine Bibliothek Und sagen "Y" ist eine andere Bibliothek.

Also, in meiner Bibliothek "X" habe ich Bibliothek "Y" verwendet.

Leute, die meine Bibliothek (d. H. X) verwenden, sollten die Klassen der Bibliothek "Y" nicht sehen.

+0

Per Definition ist das nicht möglich, soweit die Klassen von Y in sein werden, ihre App – CommonsWare

+0

@CommonsWare Klassen von Y wird in Bibliothek X. App verwendet Klassen X. Ja, natürlich interne Klassen von Y von X verwendet werden. Aber App sollte nicht die Klassen von Y dabei und Paketname auch sehen. –

+0

Noch einmal, das ist nicht möglich. Es gibt in Java keine Vorstellung von Klassen, die nicht existieren ("sollten nicht sehen"), aber tatsächlich existieren ("verwendet werden"). – CommonsWare

Antwort

0

Wenn Sie veröffentlichen

  • Code, gibt es keine Möglichkeit, es zu verbergen.
  • die .jar-Datei, der letzte Modifikator verhindert, dass Benutzer Klassen erweitern und diese Methoden verwenden und den privaten Modifikator für alles außer Schnittstellen verwenden.

Ansonsten OSGi verwenden

Es gibt viele similiar Frage auf SO gestellt:

1 und 2

Verwandte Themen