properties property
Represents a security boundary for code execution within a container or framework, defining permissions, metadata, and inheritance rules for reflection-based access.
A ProtectionDomain
encapsulates:
- A name (identity),
- A set of granted DomainPermissions,
- A set of properties (context-specific data),
- An optional parent domain (for hierarchical permission models).
Usage Example:
var domain = ProtectionDomain.create(
'dev',
permissions: {DomainPermission.READ_FIELDS, DomainPermission.INVOKE_METHODS},
);
ProtectionDomain.setCurrent(domain);
domain.runWithDomain(() {
if (domain.hasPermission(DomainPermission.READ_FIELDS)) {
print('Can read fields');
}
});
Protection domains are used internally by reflection frameworks, pod factories, or sandboxed environments like JetLeaf to enforce scoped access control.
Implementation
Map<String, dynamic> get properties;