Типы Permissions
имеют очень странный API, хотя неудивительно, что вы не можете изменить объект, который был установлен только для чтения. ProtectionDomain
s должны быть неизменными.
Тем не менее, начиная с 1.4ish, вы можете иметь «динамические» ProtectionDomain
s, которые относятся к текущему Policy
. Однако я не советую пытаться менять разрешения на лету, поскольку в этом нет особого смысла. Лучше создавать API-интерфейсы с подходом, основанным на возможностях - SecurityManager
- это просто способ преодолеть трещины в плохих API.