# PermissionManager class abstract

Abstract interface for elements that can have protection domains.

{@template protection_element_features}

## Key Features

- Protection domain integration
- Permission checking

## Implementations

Typically implemented by:

- `ClassMetadata` for class-level annotations
- `MethodMetadata` for method annotations
- `FieldMetadata` for field annotations
- `ParameterMetadata` for parameter annotations {@endtemplate}

## Constructors

PermissionManager.new()
  Abstract interface for elements that can have protection domains.
  const

## Properties

hashCode → int
  The hash code for this object.
  no setter inherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited

## Methods

checkAccess(String operation, DomainPermission permission) → void
  Verifies access permissions before performing sensitive operations.
getProtectionDomain() → ProtectionDomain
  Gets the protection domain governing access to this element.
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
toString() → String
  A string representation of this object.
  inherited

## Operators

operator ==(Object other) → bool
  The equality operator.
  inherited