Class ConfigurationValidator

java.lang.Object
com.pragma.archetype.domain.service.ConfigurationValidator

public class ConfigurationValidator extends Object
Domain service responsible for validating configuration files and metadata. Validates .cleanarch.yml, template configuration, structure.yml, and metadata.yml files.
  • Constructor Details

  • Method Details

    • validateProjectConfig

      public ValidationResult validateProjectConfig(Path projectPath)
      Validates the project configuration file (.cleanarch.yml). Validation rules: 1. Configuration file must exist 2. Configuration must be parseable (valid YAML) 3. All required fields must be present 4. Field values must be valid
      Parameters:
      projectPath - the root directory of the project
      Returns:
      ValidationResult with success status and any error messages
    • validateTemplateConfig

      public ValidationResult validateTemplateConfig(TemplateConfig templateConfig)
      Validates the template configuration section in .cleanarch.yml. Validation rules: 1. If localPath is specified, it must exist 2. If remote mode, repository URL must be valid 3. Branch name must be valid if specified 4. Mode must be valid (production or developer)
      Parameters:
      templateConfig - the template configuration to validate
      Returns:
      ValidationResult with success status and any error messages
    • validateStructureMetadata

      public ValidationResult validateStructureMetadata(StructureMetadata metadata)
      Validates structure metadata (structure.yml). Validation rules: 1. Architecture type must be specified 2. Adapter paths must be defined 3. Adapter paths must contain 'driven' or 'driving' entries 4. Path templates must be valid
      Parameters:
      metadata - the structure metadata to validate
      Returns:
      ValidationResult with success status and any error messages
    • validateAdapterMetadata

      public ValidationResult validateAdapterMetadata(AdapterMetadata metadata)
      Validates adapter metadata (metadata.yml). Validation rules: 1. Adapter name must be specified 2. Adapter type must be specified 3. Dependencies must be valid 4. Referenced template files must exist (if file system access available) 5. Configuration classes must have valid names
      Parameters:
      metadata - the adapter metadata to validate
      Returns:
      ValidationResult with success status and any error messages