Package studentrepoloader.model


package studentrepoloader.model
Top-level data model package for submission representations and data source formats.

This package acts as a container for all data models that represent parsed submission data. It currently contains the subpackage villecsv, which supports parsing ViLLe's CSV-like exports, but is designed to support additional formats in the future, such as villejson or villeyml.

Each subpackage under model corresponds to a different export format from ViLLe or a different method of describing student submissions. These models are decoupled from the CLI and output logic, focusing purely on data structure and integrity.

Common responsibilities of the model layer include:

  • Defining interfaces for shared fields (VilleSubmission, GitLabSubmission).
  • Providing concrete implementations with validation and transformation logic.
  • Maintaining format-specific file parsers (e.g., ViLLeCsvFile).

The model layer enforces a clean separation of concerns and provides the core abstractions used by all processing, mapping, filtering, and output components.

  • Class
    Description
    Value object representing a cleaned and validated GitLab repository URL, with full traceability of all applied sanitation steps.
    Enum describing every possible cleaning transformation that may be applied during sanitation.