Если вы хотите определить новый тип разрешения, вы должны реализовать абстрактный класс java.security.Permission. Поэтому вам нужно определить функции impl. Когда называются эти функции?Когда функции Java «подразумевают» функции, называемые?
ответ
Итак, очевидный ответ заключается в том, что вы открываете свою любимую среду IDE и спрашиваете ее. Там много ерунды, но и Permissions
и ProtectionDomain
используют его в своих методах implies
.
Так что давайте начнем, где это интересно, и попытайтесь выяснить, что происходит.
AccessControlContext.checkPermission
- интересный метод, если мы хотим узнать, разрешает ли acc привилегия. Среди отладочной ошибки AccessControlContext.checkPermission
есть вызов ProtectionDomain.implies
(через context[i]
). Кажется разумным, каждый ProtectionDomain
«в стеке» должен разрешить разрешение.
ProtectionDomain.implies
класс implies
на своем PermissionCollection
. Справедливо.
PermissionCollection
- это абстрактный класс, но Permissions
- это реализация, на которую указывает API. Это будет называть implies
на Set
Permission
, правильно? Нееет. Он создает специалиста PermissionCollection
для каждого типа (реализации) Permission
.
Специализированные коллекции - это действительно волосатая часть дизайна java.security
. Чтобы взять пример, FilePermission.newPermissionCollection
(я вздрагиваю при вводе) возвращает FilePermissionCollection
(отображается только в документах API для целей сериализации, где это необязательно - проклинать вас, Java Serialization). FilePemrissionCollection.implies
- это оптимизация, которая не вызывает FilePermission.implies
, но раскрывает ее реализацию.
Как правило,не называется вообще. Вместо этого используется оптимизированная версия формы Permission.newPermissionCollection
.
(Я не являюсь поклонником модели безопасности или библиотек Java 2).
- 1. Функции делегата, не называемые
- 2. Найти никогда не называемые функции
- 3. отладки называемые функции в MATLAB
- 4. Почему не вложенные функции python, называемые замыканиями?
- 5. Функции проверки углового-волшебника, не называемые
- 6. Определяет ли Klocwork никогда не называемые функции?
- 7. называемые PHP функции из пространства имен
- 8. Когда функция функции функции функции отключается?
- 9. iOS dispatch_async и функции делегата NSURLConnection, не называемые
- 10. Реализация функции jambda java функции
- 11. Почему функции, называемые «обратными вызовами» в JavaScript, когда ничего не называет их?
- 12. запуска Java-функции, когда пользователь щелкает ссылается
- 13. Аннотация/Виртуальные функции в java
- 14. , когда назначено свойство функции [[scope]] функции?
- 15. вызова функции, когда имя функции JSON значение
- 16. Выполнение функции Java Swing Button функции
- 17. Чайник зажат внутри функции изменения функции функции java
- 18. Ошибка функции пользовательской функции toString Java
- 19. Ошибка функции UDF Java в функции finish()
- 20. TYPEOF для Java-функции
- 21. Когда используются функции getnet *?
- 22. Когда выполняются функции javascript
- 23. Когда преобразование аргумента функции?
- 24. , когда применять выбор функции
- 25. Когда использовать анонимные функции
- 26. UnboundLocalError, когда в функции
- 27. Состав функции - когда?
- 28. Использование функции java 'split()
- 29. О вызове функции Java
- 30. Java Stack Функции Diffrernce
Вы добавили документы API, не так ли? Какую часть этого вы не поняли? Ответ на ваш вопрос есть. – vanza