Interface UnloadTarget

All Known Implementing Classes:
UnloadTarget.All, UnloadTarget.Ids, UnloadTarget.Matching, UnloadTarget.None

public sealed interface UnloadTarget permits UnloadTarget.None, UnloadTarget.All, UnloadTarget.Ids, UnloadTarget.Matching
Declarative target for SkillInjector's unload operation. Sealed over exactly four variants: UnloadTarget.None, UnloadTarget.All, UnloadTarget.Ids, UnloadTarget.Matching. Construct via the static factories none(), all(), ids(String...), matching(Predicate).

Project targets Java 17, so dispatch inside SkillInjector uses an if-else instanceof chain — the lazy permits self-check in UnloadTarget.PermitsCheck keeps every dispatch site honest.

Semantics: None keeps everything (no-op), All clears every activated id (ephemeral), Ids drops a specific set, Matching drops ids accepted by its predicate.