Package org.egothor.methodatlas.command


package org.egothor.methodatlas.command
CLI command handler implementations for MethodAtlas.

Each class in this package encapsulates one logical CLI mode and implements the Command interface. The thin routing layer in MethodAtlasApp.run(java.lang.String[], java.io.PrintWriter) selects the appropriate command based on the parsed command-line flags and delegates to it via Command.execute(java.io.PrintWriter).

Command handlers

Shared infrastructure

The shared infrastructure that the commands compose is decomposed into a small set of focused collaborators:

  • PluginLoader — resolves TestDiscovery and SourcePatcher providers via ServiceLoader and validates plugin-ID uniqueness.
  • OverrideLoader — loads classification override YAML files into ClassificationOverride instances.
  • ContentHasher — produces SHA-256 class fingerprints and forward-slashed scan-root file prefixes; pure static helpers.
  • AiRuntimeBuilder — builds the per-run AI engine, the result cache, and resolves taxonomy metadata.
  • ScanOrchestrator — owns the scan-and-emit loop and the apply-tags helpers (collectMethodsByFile, gatherAiSuggestionsForFile, filterSink). Constructed once per CLI run with an injected PluginLoader.

Access conventions

All classes in this package are declared public so that the routing layer in MethodAtlasApp can instantiate them. They are nonetheless considered internal implementation details: callers outside this package should not depend on specific command classes; they should interact only with the Command interface.