Capability class abstract interface

A user-facing feature (something an actor interacts with in the UI).

A capability becomes available when:

  1. the user holds every permission in requiredPermissions (the API-level permissions exercised by the underlying use cases), and
  2. every capability in prerequisites is itself available (recursively).

Capabilities can therefore depend on each other as preconditions, e.g. "manage todos" may require "view todos" first.

Implementers

Properties

hashCode int
The hash code for this object.
no setterinherited
id String
Stable, unique identifier (useful for logging and cycle detection).
no setter
prerequisites Set<Capability>
Other capabilities that must be available before this one.
no setter
requiredPermissions Set<PermissionKey>
API-level permissions this capability needs (via its use cases).
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

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