1
0

Optimierung: Konfigurationspakete kohärenter zugeschnitten

This commit is contained in:
2026-04-05 11:17:33 +02:00
parent 5b95cc2561
commit 94728c270f
10 changed files with 49 additions and 13 deletions

View File

@@ -1,5 +1,14 @@
/**
* Configuration model types for the PDF Umbenenner application.
* Contains typed configuration objects representing startup parameters.
* Application-layer runtime configuration model.
* <p>
* Contains only the minimal runtime configuration contract ({@link RuntimeConfiguration})
* that the application layer actually depends on during batch document processing.
* <p>
* This is intentionally small and focused: it includes only the parameters the
* application needs (e.g., maxPages), not the broader infrastructure configuration
* (paths, API keys, persistence settings, etc.) which are handled at the bootstrap layer.
* <p>
* This separation follows hexagonal architecture principles by ensuring the application
* layer depends only on configuration values it actually uses.
*/
package de.gecheckt.pdf.umbenenner.application.config;

View File

@@ -1,10 +1,15 @@
package de.gecheckt.pdf.umbenenner.application.config;
package de.gecheckt.pdf.umbenenner.application.config.startup;
import java.net.URI;
import java.nio.file.Path;
/**
* Typed immutable configuration model for PDF Umbenenner startup parameters.
* <p>
* Contains all technical infrastructure and runtime configuration parameters
* loaded and validated at bootstrap time. This is a complete configuration model
* for the entire application startup, including paths, API settings, persistence,
* and operational parameters.
*/
public record StartConfiguration(
Path sourceFolder,
@@ -22,4 +27,4 @@ public record StartConfiguration(
String logLevel,
String apiKey
)
{ }
{ }

View File

@@ -0,0 +1,13 @@
/**
* Startup configuration model types.
* <p>
* Contains the complete technical startup configuration model ({@link StartConfiguration})
* that encompasses all infrastructure parameters, paths, API settings, and operational
* parameters required to initialize and run the application.
* <p>
* This is separate from the minimal {@link de.gecheckt.pdf.umbenenner.application.config.RuntimeConfiguration}
* which represents only the configuration values the application layer actually depends on
* during batch processing. The startup configuration is the complete technical model used
* by bootstrap and adapter layers for initialization, validation, and infrastructure wiring.
*/
package de.gecheckt.pdf.umbenenner.application.config.startup;

View File

@@ -1,6 +1,6 @@
package de.gecheckt.pdf.umbenenner.application.port.out;
import de.gecheckt.pdf.umbenenner.application.config.StartConfiguration;
import de.gecheckt.pdf.umbenenner.application.config.startup.StartConfiguration;
/**
* Outbound port for configuration access.