SoftwareQuality/jabref/docs/decisions/0021-keep-study-as-a-dto.md
Artem Semenovykh 415abbc47b import jabref
2024-11-16 11:43:42 +01:00

35 lines
1.1 KiB
Markdown

---
parent: Decision Records
nav_order: 21
---
# Keep study as a DTO
## Context and Problem Statement
The study holds query and library entries that could be replaced respectively with complex query and fetcher instances.
This poses the question: should the study remain a pure DTO object, or should it contain direct object instances?
## Considered Options
* Keep study as DTO and use transformers
* Replace entries with instances
## Decision Outcome
Chosen option: "Keep study as DTO and use transformers", because comes out best (see below).
## Pros and Cons of the Options
### Keep study as DTO and use transformers
* Good, because no need for custom serialization
* Good, because deactivated fetchers can be documented (important for traceable Searching (SLRs))
* Bad, because Entries for databases and queries needed
### Replace entries with instances
* Good, because no need for database and query entries
* Bad, because custom de-/serializers for fetchers and complex queries needed
* Bad, because harder to maintain than using "vanilla" Jackson de-/serialization
*<!-- numbers of pros and cons can vary -->