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.
-
ClassDescriptionValue 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.