This interface is designed for plugins to consume
(call its methods).
@PublicApi can expect
that programs compiled against a given version will remain binary compatible with later versions of the
@PublicApi as per each product's API policy as long as the client does not implement/extend
@PublicApi interfaces or classes (refer to each product's API policy for the exact
guarantee---usually binary compatibility is guaranteed at least across minor versions).
interfaces and classes are not designed to be implemented or extended by clients,
we may perform certain types of binary-incompatible changes to these classes and interfaces, but these will not
affect well-behaved clients that do not extend/implement these types (in general, only classes and interfaces
are safe to extend/implement).
Represents a project permission.
- category of this permission. Cannot be null.
- condition to determine the availability of this permission. Cannot be null.
- i18n key of this permission's description. Can be null.
- unique key of this project permission.
- i18n key of this permission's name. Cannot be null.
- ProjectPermissionKey object of this project permission.