Можно ли использовать SharedSecrets в модулях Java? - PullRequest
0 голосов
/ 06 декабря 2018

Дано:

  • Модули A и B, где B импортирует A.
  • Модуль A экспортирует external.class1.Он определяет, но не экспортирует external.class1.secretProvider, internal.SharedSecrets и internal.class2 (подробнее об этом ниже).
  • Модуль A использует механизм SharedSecrets для предоставления external.class1 доступадля частных методов в internal.class2 с использованием external.class1.secretProvider.

Я хочу предоставить external.class3 (определено в модуле B) доступ к закрытым методам в internal.class2, но с internal.SharedSecretsи external.class1.secretProvider не экспортируются A У меня нет способа сделать это.

Есть ли способ для B получить доступ к секретам A, не экспортируя их для всего мира всм

1 Ответ

0 голосов
/ 06 декабря 2018

Есть ли способ для Б получить доступ к секретам А, не экспортируя их для просмотра всем миром?

Если я не правильно понял вопрос, вы можете использовать квалифицированный экспорт , чтобы убедиться, что вы экспортируете эти пакеты только в определенный (список) модуль.Вы можете сделать это так:

module A {
    exports external.class1.secretProvider to B;
    exports internal.SharedSecrets to B;
    // ... rest of your declarations
}
...